在linux系統(tǒng)中,有些工作需要周而復(fù)始的工作,有些任務(wù)需要在某個(gè)特定的時(shí)間啟動(dòng)工作,這就可以通過crontab這個(gè)命令來進(jìn)行設(shè)置,這個(gè)文件在/etc/crontab.具體步驟為:
(1)設(shè)置任務(wù)
執(zhí)行命令:crontab –e (或者vi /etc/crontab)
(2)在出現(xiàn)的命令行中編輯
例如設(shè)置每每個(gè)一段時(shí)間去執(zhí)行 data 》 /home/chen/mydata 這個(gè)命令
data命令時(shí)顯示當(dāng)前時(shí)間,上面則個(gè)命令表示將當(dāng)前時(shí)間以追加的方式寫入到文件/home/chen/mydata這個(gè)文件中。
在上面的編輯器中輸入:
* * * * * data 》/home/chen/mydata
然后保存退出,系統(tǒng)便會(huì)在每分鐘執(zhí)行一次 data 》 /home/chen/mydata 這個(gè)命令
定時(shí)的時(shí)間規(guī)則是:
時(shí)間 含義 范圍
第1個(gè)數(shù)字:分鐘 每小時(shí)中的第幾分鐘執(zhí)行 0-59
第2個(gè)數(shù)字:小時(shí) 每天的第幾個(gè)小時(shí)執(zhí)行 0-23
第3個(gè)數(shù)字:日期 每月的第幾天執(zhí)行 0-31
第4個(gè)數(shù)字:月份 每年的第幾個(gè)月執(zhí)行 0-12
第5個(gè)數(shù)字:星期 每周的第幾天執(zhí)行 0-6
其他:要執(zhí)行的命令
例如,如果想在每天的2點(diǎn)執(zhí)行上述命令,其格式為:
0 2 * * * data 》 /home/chen/mydata
(3)設(shè)置調(diào)度多個(gè)任務(wù)
在設(shè)置調(diào)度多個(gè)任務(wù)時(shí),不推薦使用上述方法,因?yàn)閷⑺械拿疃紝懙?etc/crontab中會(huì)讓人感覺很混亂,可以通過先將命令寫成一個(gè)可執(zhí)行文件,然后再通過crontab調(diào)用這個(gè)可執(zhí)行文件來實(shí)現(xiàn)(即shell編程)。
例如在將時(shí)間寫入一個(gè)文件之后,再將該文件拷貝到其他目錄中
首先在/home/chen目錄下新建一個(gè)文件:vi test.sh
然后輸入對應(yīng)的命令:
data 》 /home/chen/mydata
cp /home/chen/mydata /root/
然后再:crontab –e
添加一行代碼:
0 2 * * * /home/chen /test.sh
(4)終止任務(wù)調(diào)度命令: crontab –r
(5)顯示當(dāng)前任務(wù)調(diào)度命令: crontab –l
這里需要注意的是由于使用vi新建的文件默認(rèn)情況下并不具備可執(zhí)行的權(quán)限,所以還需要修改一下test.sh文件的權(quán)限,執(zhí)行下面的命令:
chmod 744 test.sh
新聞熱點(diǎn)
疑難解答
圖片精選