1. 程式人生 > 其它 >Linux crontab 計劃任務使用說明

Linux crontab 計劃任務使用說明

命令使用

[[email protected] ~]# crontab [-u username] [-l|-e|-r]
選項與引數:
-u  :只有 root 才能進行這個操作,亦即幫其他使用者建立/移除 crontab 工作排程;
-e  :編輯 crontab 的工作內容;
-l  :查閱 crontab 的工作內容;
-r  :移除所有的 crontab 的工作內容;

crontab語法格式

  • Minutes Hours DayofMonth Month DayofWeek

語法說明:

欄位允許值允許的特殊字元
分(Minutes0~59的整數, - * / 四個字元
小時(Hours0~23的整數, - * / 四個字元
日期(DayofMonth1~31的整數,- * ? / L W C 八個字元
月份(Month1~12的整數, - * / 四個字元
星期(DayofWeek0~7的整數(0&7=SUN), - * ? / L C # 八個字元

特殊字元說明:

*:表示匹配該域的任意值。假如在Minutes域使用*, 即表示每分鐘都會觸發事件。
,:表示列舉值。例如:在Minutes域使用5,20,則意味著在5和20分每分鐘觸發一次。
-:表示範圍。例如在Minutes域使用5-20,表示從5分到20分鐘每分鐘觸發一次。
/n:表示從起始時間後每隔n個單位時間觸發一次。例如在Minutes域使用5/20,則表示5分鐘觸發一次,而25、45等分別觸發一次。
可以分別以周或者是日月為單位作為迴圈,但不可使用「幾月幾號且為星期幾」的命令模式;如果周和日月同時設定,則兩個單位之間是或關係。

crontab的使用限制:

  • /etc/cron.allow:將可以使用 crontab 的帳號寫入其中,若不在這個檔案內的使用者則不可使用 crontab;
  • /etc/cron.deny:將不可以使用 crontab 的帳號寫入其中,若未記錄到這個檔案當中的使用者,就可以使用 crontab 。

這兩個檔案只要保留一個即可, 一般來說,系統預設是保留 /etc/cron.deny。

使用示例:

* * * * * /home/bin/script.sh: 每分鐘執行。
0 * * * * /home/bin/script.sh: 每小時零分執行。
3,15 * * * * /home/bin/script.sh: 每小時3分和15分執行。
0 0 * * * /home/bin/script.sh: 每天零點執行。
0 0 */2 * * /home/bin/script.sh: 每隔兩天零點執行。
0 9,18 * * * /home/bin/script.sh: 在每天的9點和18點執行。
0 9-18 * * * /home/bin/script.sh: 在9點到18點的每個小時執行。
0 9-18 * * 1-5 /home/bin/script.sh: 週一到週五的9點到18點每小時執行。
*/10 * * * * /home/bin/script.sh: 每10分鐘執行。

文章來源:https://github.com/ddodn/wem/issues/1