linux定時執行程式crontab 指令範例

  • crontab -e 編輯排程 (edit cron)
  • crontab -r 移除排程 (remove cron)
  • crontab -l 顯示目前排程 (list cron)
  • crontab -u 改變排程的執行身分: crontab -u user filename


Crontab 語法介紹


分鐘小時星期執行身份指令
0~590~231~31 (29,30)1~120~6
0是星期日,6是星期六
帳號/usr/bin/xxxx

Crontab 範例

每5分鐘執行一次
*/5 * * * * root /usr/libexec/atrun
每5小時執行一次
* */5 * * * root /usr/libexec/atrun
1至20號每天執行一次
0 1 1-20 * * root /usr/libexec/atrun
當分針移到第5分時,執行此 cron
5 * * * * root /usr/libexec/atrun
當時針移到1點 1 分時,執行此 cron
1 1 * * * root /usr/libexec/atrun
每週一的1點1分,執行
1 1 * * 1 root /usr/libexec/atrun
2月29日時針到1點1分,執行 
1 1 29 2 * root /usr/libexec/atrun
8點到16點每5分鐘執行一次 cron
*/5 8-16 * * * root /usr/libexec/atrun



設定檔放在 /var/spool/cron   按照USER命名檔案,如有需要備份,把這裡的檔案COPY出去即可。


特殊排程規則

crontab 除了以標準的格式撰寫排程工作之外,他也有提供幾個常用的特殊排程規則,這種特殊排程規則都以 @ 開頭,以下是每個特殊排程規則的說明:
排程規則說明
@reboot每次重新開機之後,執行一次。
@yearly每年執行一次,亦即 0 0 1 1 *
@annually每年執行一次,亦即 0 0 1 1 *
@monthly每月執行一次,亦即 0 0 1 * *
@weekly每週執行一次,亦即 0 0 * * 0
@daily每天執行一次,亦即 0 0 * * *
@hourly每小時執行一次,亦即 0 * * * *
例如每天執行一次,就可以這樣寫
# 每天執行一次

@daily /home/gtwang/script.sh --your --parameter

留言

這個網誌中的熱門文章

java BigDecimal 加減乘除,四捨五入,四則運算及比較

MS sqlServer資料庫移轉至MySQL-->利用MySQL WorkBench

java 數字轉字串 字串轉數字