在Linux中怎樣使用cron創(chuàng)建定時(shí)任務(wù)
編寫定時(shí)任務(wù)
要?jiǎng)?chuàng)建定時(shí)任務(wù),可以使用 -e 選項(xiàng)編輯crontab:
這將使用默認(rèn)的文本編輯器打開crontab。要設(shè)置默認(rèn)的文本編輯器,可以使用編輯器環(huán)境變量:
cron 語法
要?jiǎng)?chuàng)建一個(gè)定時(shí)任務(wù),可以編寫一個(gè)cron表達(dá)式,后跟定時(shí)任務(wù)需要執(zhí)行的命令。cron表達(dá)式在命令運(yùn)行時(shí)進(jìn)行調(diào)度:
- 分鐘(0 - 59)
- 小時(shí)(0 - 23)
- 日(1 - 31)
- 月(1 - 12)
- 星期(0 - 6,0是星期天)
字段中的星號(hào)(*)轉(zhuǎn)換為“每個(gè)”。例如,此表達(dá)式在每個(gè)月的每一天每小時(shí)的第0分鐘運(yùn)行備份腳本:
下面這個(gè)例子在每個(gè)星期天上午的3:30執(zhí)行:
簡化語法
最新版本的cron已經(jīng)實(shí)現(xiàn)了簡單的語法,而不是cron表達(dá)式:
- @hourly 在每天的每個(gè)小時(shí)的第0分鐘運(yùn)行;
- @daily 在每天的第0個(gè)小時(shí)的第0分鐘運(yùn)行;
- @weekly 在每周的星期天的第0個(gè)小時(shí)第0分鐘運(yùn)行;
- @monthly 在每個(gè)月的第一天的第0小時(shí)第0分鐘運(yùn)行;
例如,下面語句在每天的午夜零點(diǎn)執(zhí)行備份任務(wù):
怎樣結(jié)束一個(gè)定時(shí)任務(wù)
一旦你開始了一個(gè)定時(shí)任務(wù),它就被設(shè)計(jì)成永遠(yuǎn)按計(jì)劃運(yùn)行。要在啟動(dòng)定時(shí)任務(wù)后停止它,必須編輯crontab,刪除觸發(fā)作業(yè)的行,然后保存。
要停止正在運(yùn)行的作業(yè),請(qǐng)使用標(biāo)準(zhǔn)Linux進(jìn)程命令停止正在運(yùn)行的進(jìn)程。
它是自動(dòng)化的
一旦你編寫完crontab后,保存并退出編輯器,你的定時(shí)任務(wù)就已經(jīng)安排好了,cron將會(huì)完成剩余所有的工作。