Centos crontab定時任務


CRONTAB是一個用於設置周期性被執行的任務的工具,有了它,我們就可以從定時工作中解放出來。

一 : 檢查CRONTAB服務 

1. 檢查CRONTAB工具是否已經在主機上安裝 : crontab -l (當然后面會介紹它真正的用途) 
2. 檢查CRONTAB服務是否已經啟動 : service crond status(其實這個命令還可以檢查其他服務,例如 service httpd status 檢測apache是否在運行) 
3. 安裝:yum install crontabs

二 : 命令功能 

通過crontab 命令,我們可以在固定的間隔時間執行指定的系統指令或 shell script腳本。時間間隔的單位可以是分鍾、小時、日、月、周及以上的任意組合。這個命令非常設合周期性的日志分析或數據備份等工作。

三 : 命令參數 

1. -u user:用來設定某個用戶的crontab服務,例如,“-u ixdba”表示設定ixdba用戶的crontab服務,此參數一般有root用戶來運行。

  1. file:file是命令文件的名字,表示將file做為crontab的任務列表文件並載入crontab。如果在命令行中沒有指定這個文件,crontab命令將接受標准輸入(鍵盤)上鍵入的命令,並將它們載入crontab。

  2. -e:編輯某個用戶的crontab文件內容。如果不指定用戶,則表示編輯當前用戶的crontab文件。(常用)

  3. -l:顯示某個用戶的crontab文件內容,如果不指定用戶,則表示顯示當前用戶的crontab文件內容。(常用)

  4. -r:從/var/spool/cron目錄中刪除某個用戶的crontab文件,如果不指定用戶,則默認刪除當前用戶的crontab文件。

  5. -i:在刪除用戶的crontab文件時給確認提示。

下面是兩個最常用的命令: 
crontab -l 查看當前的任務列表,其實就是crontab文件的內容 
crontab -e 打開定時任務列表文件,進行編輯

四 : crontab文件說明 


用戶所建立的crontab文件中,每一行都代表一項任務,每行的每個字段代表一項設置,它的格式共分為六個字段,前五段是時間設定段,第六段是要執行的命令段,格式如下:

minute hour day month week command

其中:

  1. minute: 表示分鍾,可以是從0到59之間的任何整數。
  2. hour:表示小時,可以是從0到23之間的任何整數。
  3. day:表示日期,可以是從1到31之間的任何整數。
  4. month:表示月份,可以是從1到12之間的任何整數。
  5. week:表示星期幾,可以是從0到7之間的任何整數,這里的0或7代表星期日。
  6. command:要執行的命令,可以是系統命令,也可以是自己編寫的腳本文件。

其實用一張圖就能更好理解了 
這里寫圖片描述

五 : 常用實例 


實例1:每1分鍾執行一次command 
命令: 
* * * * * command

實例2:每小時的第3和第15分鍾執行 
命令: 
3,15 * * * * command

實例3:在上午8點到11點的第3和第15分鍾執行 
命令: 
3,15 8-11 * * * command

實例4:每隔兩天的上午8點到11點的第3和第15分鍾執行 
命令: 
3,15 8-11 */2 * * command

實例5:每個星期一的上午8點到11點的第3和第15分鍾執行 
命令: 
3,15 8-11 * * 1 command

實例6:每晚的21:30重啟smb 
命令: 
30 21 * * * /etc/init.d/smb restart

實例7:每月1、10、22日的4 : 45重啟smb 
命令: 
45 4 1,10,22 * * /etc/init.d/smb restart

實例8:每周六、周日的1 : 10重啟smb 
命令: 
10 1 * * 6,0 /etc/init.d/smb restart

實例9:每天18 : 00至23 : 00之間每隔30分鍾重啟smb 
命令: 
0,30 18-23 * * * /etc/init.d/smb restart

實例10:每星期六的晚上11 : 00 pm重啟smb 
命令: 
0 23 * * 6 /etc/init.d/smb restart

實例11:每一小時重啟smb 
命令: 
* */1 * * * /etc/init.d/smb restart

實例12:晚上11點到早上7點之間,每隔一小時重啟smb 
命令: 
* 23-7/1 * * * /etc/init.d/smb restart

實例13:每月的4號與每周一到周三的11點重啟smb 
命令: 
0 11 4 * mon-wed /etc/init.d/smb restart

實例14:一月一號的4點重啟smb 
命令: 
0 4 1 jan * /etc/init.d/smb restart

實例15:每30秒執行/etc/cron.hourly目錄內的腳本 
命令: 
*/1 * * * * root run-parts /etc/cron.hourly 
*/1 * * * * sleep 30s ; root run-parts /etc/cron.hourly

 

轉:https://blog.csdn.net/baidu_30000217/article/details/51100172


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM