Crontab
Crontab 在 Ubuntu 裏頭是預載的,其功能是可以根據時間參數來執行工作排程; 它的格式如下:
* * * * * command to be executed
依序分別是 分鐘[0-59]、小時[0-23]、日期[1-31]、月份[1-12]、星期[0-6]、command 其中 星期 0 = 天的意思。
符號
- 「*」:不設限
- 「,」:分隔時段。例如:30 10,20 * * * command,代表早上十點半和下午八點半執行。
- 「-」:一段時間範圍。例如:15 9-12 * * * command,代表從九點到十二點的每個 15 分都執行一次。
- 「/n」:表示每個 n 單位間隔。例如:*/5 * * * * command,代表每隔 5 分鐘執行一次。
* * * * *:每隔一分鐘執行一次。
你也可以使用 @ 來取代五個參數:
- @reboot:僅在開機的時候執行一次。
- @yearly:一年執行一次,和0 0 1 1 * command效果一樣。
- @annually:(和@yearly一樣)
- @monthly:一個月執行一次,和0 0 1 * * command效果一樣。
- @weekly:一個星期執行一次,和0 0 * * 0 command效果一樣。
- @daily:每天執行,和0 0 * * * command效果一樣。
- @midnight:(和@daily一樣)
- @hourly :每小時執行,和0 * * * * command效果一樣。
輸出
另外,需要設立 command 輸出的地點或方式; 如使用 Postfix 或是直接在 command 後方加上 » /file_path,
sudo apt-get install postfix
設定完後,可以在下列位置查看 output
sudo tail -f /var/mail/<user>
而如果需要清空 mail 內容的話, 則利用
> /var/mail/<user>
除錯
Ubuntu 的話,cron log 會和 syslog 寫在一塊,使用下列的 function 來區隔:
grep CRON /var/log/syslog
編輯
crontab -l
crontab -e
crontab -r
-l:列出所有的 cron -e:編輯 -r:移除 並可以使用
/etc/init.d/cron restart
來重新啟用 crontab