首先,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á)式里的特殊符號(hào)來表示:“*”表示任意,“,”表示分隔,“-”表示時(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ù)都可以用這些知識(shí)來搞定
這里補(bǔ)充一個(gè),因?yàn)閏rontab運(yùn)行任務(wù)并不知道任務(wù)執(zhí)行成功不成功,因此最好對(duì)執(zhí)行的任務(wù)加上log,如下面的命令:
* * * * * command
其中前五個(gè)字段的含義依次是:
分鐘:0-59
小時(shí):0-23
日期:1-31
月份:1-12
星期:0-6(0代表周日)
不過可以采用一些類似正則表達(dá)式里的特殊符號(hào)來表示:“*”表示任意,“,”表示分隔,“-”表示時(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ù)都可以用這些知識(shí)來搞定
這里補(bǔ)充一個(gè),因?yàn)閏rontab運(yùn)行任務(wù)并不知道任務(wù)執(zhí)行成功不成功,因此最好對(duì)執(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í)用。
代表將crontab執(zhí)行任務(wù)的日志輸出到/home/myjfm/output/crontab.log文件中,這樣,如果crontab執(zhí)行不成功,則可以通過查看crontab.log文件來排錯(cuò),非常實(shí)用。