linux定時執行程式crontab 指令範例
- crontab -e 編輯排程 (edit cron)
- crontab -r 移除排程 (remove cron)
- crontab -l 顯示目前排程 (list cron)
- crontab -u 改變排程的執行身分: crontab -u user filename
Crontab 語法介紹
分鐘 | 小時 | 日 | 月 | 星期 | 執行身份 | 指令 |
---|---|---|---|---|---|---|
0~59 | 0~23 | 1~31 (29,30) | 1~12 | 0~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
@daily /home/gtwang/script.sh --your --parameter
留言
張貼留言