crontab時間與系統時間不一致
阿新 • • 發佈:2018-12-13
最近遇到個事情,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