您好,登錄后才能下訂單哦!
前言
在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
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。