crontab命令常見用法示例
阿新 • • 發佈:2019-02-19
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59) 分鐘-範圍是0到59
# | .------------- hour (0 - 23) 小時-範圍是0到23
# | | .---------- day of month (1 - 31) 日-範圍是1-31
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ... 月份-範圍是1-12 或者是 英文簡寫
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat 周-範圍是0到6,週日可以用0和7表示
# | | | | |
# * * * * * user-name command to be executed 最後跟上要執行的命令
1、每個時間位都應該使用其可用的有效取值範圍內的值
2、某時間位上的*表示對應位的所有有效取值
3、-: 連續的時間相鄰點取值
4、,: 離散的時間點取值
5、/#:表示在指定時間範圍內每隔#執行一次
“每週”和”每月每天”通常不會同時使用
crontab 命令的一般形式
crontab [-u username] -e -l -r
-u username
-e (edit) 呼叫EDITOR環境變數指定的編輯器編輯計劃任務
-l (list) 列出使用者的計劃任務
-r (remove) 刪除使用者的計劃任務(所有的)
如果使用者使用自己的名字登入,就不用使用-u選項;
當時用 crontab 執行shell指令碼的時候,要由使用者來給出指令碼的絕對路徑,設定相應的環境變數;
如果crontab不能執行相應的指令碼,使用者將收到一封郵件說明其中的原因;
直接使用crontab -e命令,它會呼叫系統設定的環境變數EDITOR來編輯;
我們在設定計劃任務之前,可以先設定這個環境變數的值:
編輯使用者家目錄下的.profile檔案
vim ~/.profile
加入以下內容:
EDITOR=vi; export EDITOR
1. 30 21 * * * /apps/bin/cleanup.sh 每天晚上的21:30執行/apps/bin/目錄下的cleanup.sh
2. 45 4 1,10,22 * * /apps/bin/backup.sh 每月的1 、 10 、 22號的4:45執行/apps/bin/目錄下的backup.sh
3. 10 1 * * 6,0 /bin/find -name "core" -exec rm {} \; 每週六、週日的1:10執行一個find命令
4. 0,30 18-23 * * * /apps/bin/dbcheck.sh 每天18點到23點之間每隔30分鐘執行/apps/bin目錄下的dbcheck.sh
5. 0 23 * * 6 /apps/bin/qtrend.sh 每週六的11:00執行/apps/bin/目錄下的qtrend.sh
6. 0 15 23 * * 每月23號15點0分執行一次
7. * 15 23 * * 每月23號15點每分鐘執行一次
8. 30-35 7 * * * 每天的7點30到35分這個時間段內每分鐘執行一次(共6次)
9. 5,35 * * * * 每天的每小時的5分和35分執行一次
10. */3 * * * * 每隔3分鐘執行一次
11. 3,33 9-18/2 * * 1-5 週一到週五每天的9點到18點之間每2小時的3分和33分執行一次