前言
在LINUX中,周期執行的任務一般由cron這個守護程序來處理[ps -ef|grep cron]。cron讀取一個或多個配置檔案,這些配置檔案中包含了指令行及其調用時間。
cron的配置檔案稱為“crontab”,是“cron table”的簡寫。
cron是一個linux下 的定時執行工具,可以在無需人工幹預的情況下運作作業。
service crond start //啟動服務
service crond stop //關閉服務
service crond restart //重新開機服務
service crond reload //重新載入配置
service crond status //檢視服務狀态
發現問題
事情是這樣的在自己的服務上有一條如下crontab
10 0 * * * root echo 'xxx' >> zzz
複制
熟悉的人都知道是 晚上00:10執行,把xxx輸出到zzz檔案
可是問題來了 這條crontab不在00:10執行!而是在中午12:10執行。
crontab 執行時間和系統時間不一緻!!!!
我記得伺服器更改過時區現在也是 CST時區 沒理由不執行啊!
試着google下crontab 時區,還真搜到 幾個類似的例子
原來 修改過時間後必須手動重新開機crontab
/etc/init.d/crond restart
複制
必須重新開機crontab 重新開機伺服器是沒有用的,我修改時區後重新開機過伺服器 都是沒有用的,必須重新開機crontab!
還有一種情況的 時區分兩個 一個是 timezone 還有個是localtime,按照下面指令即可解決
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
service crond restart
複制
總結
以上就是這篇文章的全部内容了,希望本文的内容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對ZaLou.Cn的支援。