Centos系統(tǒng)如何設(shè)置定時任務(wù)?本教程以centos7系統(tǒng)為例
本配置適用于centos6,centos7版本
1.使用vi編輯器打開定時任務(wù)配置文件:vi /etc/crontab(或者直接crontab -e),在其中添加如下配置(每分鐘執(zhí)行腳本一次),每項含義參考說明
前四行是用來配置crond任務(wù)運行的環(huán)境變量
第一行SHELL變量指定了系統(tǒng)要使用哪個shell,這里是bash(例如如下圖:SHELL=/bin/bash,每臺機器的配置可能不一樣具體可以echo $SHELL 進行查看,實際上也可以忽略不寫)
第二行PATH變量指定了系統(tǒng)執(zhí)行命令的路徑(例如如下圖:PATH=/sbin:/bin:/usr/sbin:/usr/bin,同上也可以echo $PATH 進行查看,實際上也可以忽略不寫)
第三行MAILTO變量指定了crond的任務(wù)執(zhí)行信息將通過電子郵件發(fā)送給root用戶(例如如下圖為:MAILTO=root,可以查看具體需要發(fā)送給哪個用戶)
如果MAILTO變量的值為空,則表示不發(fā)送任務(wù)執(zhí)行信息給用戶
第四行的HOME變量指定了在執(zhí)行命令或者腳本時使用的主目錄。(例如如下圖為:* * * * * root /home/test.sh,這個只是距離test.sh這個腳本,不是唯一命令)
星號(*):代表所有可能的值,如month字段為星號,則表示在滿足其它字段的制約條件后每月都執(zhí)行該命令操作。
逗號(,):可以用逗號隔開的值指定一個列表范圍,例如,“1,2,5,7,8,9”
中杠(-):可以用整數(shù)之間的中杠表示一個整數(shù)范圍,例如“2-6”表示“2,3,4,5,6”
正斜線(/):可以用正斜線指定時間的間隔頻率,例如“0-23/2”表示每兩小時執(zhí)行一次。
小 結(jié):
數(shù)字的表示最好用2為阿拉伯數(shù)字顯示
周和日最好不要同時用
定時任務(wù)要加注解
可以定向到日志文件或者空文件
定時任務(wù)一定是絕對路徑,且目錄必須存在才能出結(jié)果
crontab 服務(wù)一定要開啟運行
這個定時任務(wù)就是在每時每分進行系統(tǒng)重啟(只是舉個例子,也可以放置其他腳本文件)
2.保存文件,重啟定時任務(wù)服務(wù):
systemctl restart crond.service(重啟服務(wù))
systemctl start crond.service(開啟服務(wù))
systemctl stop crond.service(關(guān)閉服務(wù))
查看結(jié)果,可以看到定時任務(wù)已設(shè)置成功
在crontab中添加了定時任務(wù),但發(fā)現(xiàn)沒有得到期望的結(jié)果,因而懷疑是crontab沒有執(zhí)行相應(yīng)的任務(wù),但怎么定位crontab是否執(zhí)行呢?
這就需要查看crontab的執(zhí)行歷史記錄,具體位置如下:
cd /var/log
tail -100 cron
在cron文件中即可查閱已經(jīng)操作過的相關(guān)定時任務(wù)