淺談Linux的定時(shí)任務(wù)
crond是一個(gè)守護(hù)程序,用于在Linux下定期執(zhí)行某些任務(wù)或等待某些事件。 像Windows中計(jì)劃的任務(wù)一樣,此服務(wù)工具默認(rèn)情況下是在安裝操作系統(tǒng)并自動(dòng)啟動(dòng)后安裝的。 crond進(jìn)程,即crond進(jìn)程,每分鐘定期檢查是否需要完成一項(xiàng)任務(wù),并且在需要完成一項(xiàng)工作時(shí)會(huì)自動(dòng)執(zhí)行該任務(wù)。
crontab -e 編輯定時(shí)任務(wù)
crontab -l 列出定時(shí)任務(wù)
crontab -r 刪除定時(shí)任務(wù)
** * * * command
分 時(shí) 日 月 周 命令
除了數(shù)字還有幾個(gè)個(gè)特殊的符號(hào)就是"*"、"/"和"-"、",",*代表所有的取值范圍內(nèi)的數(shù)字,"/" 代表每的意思,"/5"表示每5個(gè)單位,"-"代表從某個(gè)數(shù)字到某個(gè)數(shù)字,","分開(kāi)幾個(gè)離散的數(shù)字。
幾個(gè)例子:
1.每天早上6點(diǎn)
0 6 * * * echo "Good morning." >> /tmp/test.txt //注意單純echo,從屏幕上看不到任何輸出,因?yàn)閏ron 把任何輸出都email到root的信箱了。
2.每?jī)蓚€(gè)小時(shí)
0 */2 * * * echo "Have a break now." >> /tmp/test.txt
3.晚上11點(diǎn)到早上8點(diǎn)之間每?jī)蓚€(gè)小時(shí)和早上八點(diǎn)
0 23-8/2,8 * * * echo "Have a good dream" >> /tmp/test.txt
4.每個(gè)月的4號(hào)和每個(gè)禮拜的禮拜一到禮拜三的早上11點(diǎn)
0 11 4 * 1-3 command line
實(shí)現(xiàn)秒級(jí)執(zhí)行任務(wù):
*/1 * * * * sleep 3 && echo "goodmorning" >> /test/a.txt
*/1 * * * * sleep 6 && echo "goodmorning" >> /tess/a.txt
*/1 * * * * sleep 9 && echo "goodmorning" >> /test/a.txt
*/1 * * * * sleep 12 && echo "goodmorning" >> /test/a.txt