星期二, 元月 08, 2008

Crontab 的寫法(@reboot, @yearly...)

Crontab 主要是在做排程, 通常一般寫法大概都是如下:

0 0 * * * /usr/local/www/awstats/cgi-bin/awstats.sh

這種寫法規則如下:

分 時 日 月 週

對應表如下:

field              allowed values
-----             --------------
minute            0-59
hour               0-23
day of month   1-31
month            1-12 (or names, see below)
day of week    0-7 (0 or 7 is Sun, or use names)

看到彥明長輩寫才知道有這種寫法:

@hourly /usr/local/www/awstats/cgi-bin/awstats.sh

使用 @hourly 對應的是 0 * * * *, 還有下述可以使用:

string            meaning
------           -------
@reboot        Run once, at startup.
@yearly         Run once a year, "0 0 1 1 *".
@annually      (same as @yearly)
@monthly       Run once a month, "0 0 1 * *".
@weekly        Run once a week, "0 0 * * 0".
@daily           Run once a day, "0 0 * * *".
@midnight      (same as @daily)
@hourly         Run once an hour, "0 * * * *".

特別是看到 @reboot, 所以寫 rc.local 的東西, 也可以使用 @reboot 寫在 crontab 裡面?... XD

找時間再實驗看看. 更多詳細的應用, 可以 man 5 crontab :)

延伸閱讀

相關標籤

this is comment icon [回覆]

原來還有這一招阿! 受教了~

Comment by 小海 (01/08/2008 12:21)

this is comment icon 学习了,一直以为只有按部就班的写 [回覆]

真的是领教了,原来一直按部就班的写,多谢

Comment by ricky (01/08/2008 12:35)

this is comment icon 回 小海, ricky [回覆]

我也是看到長輩這樣寫, 就趕快記下來~ :)

Comment by Tsung (01/08/2008 12:56)

this is comment icon [回覆]

我想 @reboot 的指令要等到 crond 啟動後才能執行,而 rc.local 應該可以更早之前就開始跑。

Comment by jeffhung (01/08/2008 15:32)

this is comment icon 回 jeffhung [回覆]

嗯嗯, 不過通常 rc.local 都是整個 rc.d 這些跑完後最後執行的, 所以跟用 @reboot 來跑應該差不多意思?...
這樣子就可以讓程式 Push 輕鬆點吧~
如果可以寫在 crontab 裡面, 就不用去動到系統囉~ :)
(不知道寫在自己個人的 crontab 裡面, 到底會不會被執行到, 也是要測試看看的. XD)

Comment by Tsung (01/08/2008 15:47)

this is comment icon 分 時 日 月 「週 」 ? [回覆]

有點小筆誤的樣子

Comment by jiing (08/20/2009 08:21)

this is comment icon 回 jing [回覆]

是耶.. 確實是筆誤, 感謝指正~~ Orz..

Comment by Tsung (08/20/2009 10:03)
Add this page to del.icio.us

發表迴響

標題

內容 (限制 1000 字)

暱稱

電子郵件

個人網頁


 authimage


PS: 若無法留言, 請先確認是否有打開 JavaScript, 造成您的困擾, 實在萬分對不起 Orz...(如果無法留言, 勞煩可以發信給我好嗎? 謝謝.)
PS2: 若您的留言被誤判, 我都會再自行看過, 不需要一直重覆張貼~