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