使用 crontab 做定時服務
使用crontab做定時服務
基本命令
- crontab -e 編輯任務
- crontab -l 列出任務
時間格式
- f1 f2 f3 f4 f5 program
- f1:分鐘
- f2:小時
- f3:一個月中的第幾天
- f4:月份
- f5:一個星期中的第幾天
- f1為 a-b 表示從a分鐘到b分鐘內執行
- f2為 a-b 表示從a小時到b小時內執行
- f1為 */n 表示n分鐘個時間間隔執行一次
- f2為 */n 表示每n小時個時間間隔執行一次
- f1為 a, b, c,… 時表示第 a, b, c… 分鐘要執行
- f2為 a, b, c,… 時表示第 a, b, c… 個小時要執行
Samples
- * * * * * command
每分鐘執行一次 - 3,15 * * * * command
每小時的第 3 15 分鐘執行一次 - 3,15 8-11 * * * command
上午8點到11點的第3 15分鐘執行一次 - 3,15 8-11 */2 * * command
每隔兩天的上午8點到11點的第3 15分鐘執行一次 - 3,15 8-11 * * 1 command
每個星期一的上午8點到11點的第3和第15分鐘執行 - 30 21 * * * command
每晚的21:30執行 - 45 4 1,10,22 * * command
每月1、10、22日的4 : 45執行 - 10 1 * * 6,0 command
每周六、周日的1 : 10執行 - 0,30 18-23 * * * command
每天18 : 00至23 : 00之間每隔30分鐘執行 - 0 23 * * 6 command
每星期六的晚上11 : 00 執行 - * */1 * * *
每小時執行一次 - * 23-7/1 * * *
晚上11點到早上7點之間,每隔一小時執行 - 0 11 4 * mon-wed
每月的4號與每周一到周三的11點執行 - 0 4 1 jan *
一月一號的4點 - 01 * * * * root run-parts /etc/cron.hourly
每小時執行/etc/cron.hourly目錄內的腳本
** run-parts這個參數了,如果去掉這個參數的話,后面就可以寫要運行的某個腳本名,而不是目錄名了 **
注意事項
-
手動可執行任務,但無法自動執行,需要注意環境變量
- 腳本中涉及文件路徑時寫全局路徑
- 腳本執行要用到java或其他環境變量時,通過source命令引入環境變量
cat start_cbp.sh #!/bin/sh source /etc/profile export RUN_CONF=/home/d139/conf/platform/cbp/cbp_jboss.conf /usr/local/jboss-4.0.5/bin/run.sh -c mev &
- 清理系統用戶的郵件日志
- 新創建的cron job,不會馬上執行,至少要過2分鐘才執行。如果重啟cron則馬上執行。
- 當crontab突然失效時,可以嘗試/etc/init.d/crond restart解決問題。或者查看日志看某個job有沒有執行/報錯tail -f /var/log/cron。
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!