天天看點

crontab執行時間與系統時間不一緻問題解決

前言

在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的支援。