Crontab

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

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s