前言
在LINUX中,周期執(zhí)行的任務(wù)一般由cron這個守護(hù)進(jìn)程來處理[ps -ef|grep cron]。cron讀取一個或多個配置文件,這些配置文件中包含了命令行及其調(diào)用時間。
cron的配置文件稱為“crontab”,是“cron table”的簡寫。
cron是一個linux下 的定時執(zhí)行工具,可以在無需人工干預(yù)的情況下運(yùn)行作業(yè)。
service crond start //啟動服務(wù)
service crond stop //關(guān)閉服務(wù)
service crond restart //重啟服務(wù)
service crond reload //重新載入配置
service crond status //查看服務(wù)狀態(tài)
發(fā)現(xiàn)問題
事情是這樣的在自己的服務(wù)上有一條如下crontab
10 0 * * * root echo 'xxx' >> zzz
熟悉的人都知道是 晚上00:10執(zhí)行,把xxx輸出到zzz文件
可是問題來了 這條crontab不在00:10執(zhí)行!而是在中午12:10執(zhí)行。
crontab 執(zhí)行時間和系統(tǒng)時間不一致?。。?!
我記得服務(wù)器更改過時區(qū)現(xiàn)在也是 CST時區(qū) 沒理由不執(zhí)行??!
試著google下crontab 時區(qū),還真搜到 幾個類似的例子
原來 修改過時間后必須手動重啟crontab
/etc/init.d/crond restart
必須重啟crontab 重啟服務(wù)器是沒有用的,我修改時區(qū)后重啟過服務(wù)器 都是沒有用的,必須重啟crontab!
還有一種情況的 時區(qū)分兩個 一個是 timezone 還有個是localtime,按照下面命令即可解決
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
service crond restart
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。