1. 程式人生 > >crontab時間與系統時間不一致

crontab時間與系統時間不一致

最近遇到個事情,Linux系統中date命令輸出正常,但通過crontab執行的指令碼,時間總是不正常:

#系統時間正常
[[email protected] tmp]# date
Thu Dec 13 11:41:15 CST 2018

#crontab呼叫的指令碼時間不正常
[[email protected] tmp]# tail alarm.txt                           
2018-12-13 03:41:03,522 [INFO] <util>:78 process shutting down
2018-12-13 03:41:03,522 [INFO] <util>:78 process shutting down

一看,差距8小時,那肯定是時區設定的問題,果斷

cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

/etc/init.d/crond restart

結果還是不行…… 哎呦我去……

crontab -e建立一個計劃任務
*/1 * * * * date >>/tmp/time.txt

cat /tmp/time.txt
Thu Dec 13 03:30:01 Local time zone must be set--see zic manual page 2018

然後搜到了這裡:

https://segmentfault.com/q/1010000008312223

 

原來升級了glibc之後,localtime的位置和之前也不一樣了,crond讀取的是另外一個路徑下的localtime……

隨後find系統內的localtime,並重做軟連線即可

ln -sf /etc/localtime /opt/glibc-2.14/etc/localtime