之前在百度實(shí)習(xí)的時(shí)候搞過一回crontab,不過也是邊查邊用,過后就忘了,今天幫實(shí)驗(yàn)室搞一個(gè)流量監(jiān)控系統(tǒng),再次遇到crontab,決定這次做下筆記,防止下次再用到時(shí)忘掉。
首先,crontab分為兩類:系統(tǒng)crontab,用戶crontab。
按照我的理解,系統(tǒng)crontab可以使不同的用戶crontab任務(wù)都放到/etc/crontab文件中指定。而用戶crontab僅允許當(dāng)前用戶調(diào)用crontab -e命令來編輯自己的任務(wù)。
下面講解crontab具體使用以及語法。
crontab -e添加的命令必須如下面的格式:
* * * * * command
其中前五個(gè)字段的含義依次是:
分鐘:0-59
小時(shí):0-23
日期:1-31
月份:1-12
星期:0-6(0代表周日)
不過可以采用一些類似正則表達(dá)式里的特殊符號來表示:“*”表示任意,“,”表示分隔,“-”表示時(shí)間段,如1-5,“/n”表示每隔n個(gè)單位執(zhí)行一次,如*/3及表示每3個(gè)小時(shí)執(zhí)行一次。
如下面的一些例子:
3 8-23/3 * * * 代表8:03、11:03、14:03、17:03、20:03、23:03各執(zhí)行一次命令
其實(shí)crontab主要內(nèi)容就是這么簡單,一般的任務(wù)都可以用這些知識來搞定
這里補(bǔ)充一個(gè),因?yàn)閏rontab運(yùn)行任務(wù)并不知道任務(wù)執(zhí)行成功不成功,因此最好對執(zhí)行的任務(wù)加上log,如下面的命令:
10 0 * * * cd /home/myjfm/output/ && /bin/bash crntb_start.sh >> /home/myjfm/output/crontab.log 2>&1
代表將crontab執(zhí)行任務(wù)的日志輸出到/home/myjfm/output/crontab.log文件中,這樣,如果crontab執(zhí)行不成功,則可以通過查看crontab.log文件來排錯(cuò),非常實(shí)用。
posted on 2012-12-12 01:02
myjfm 閱讀(9308)
評論(1) 編輯 收藏 引用 所屬分類:
雜