crontab时间与系统时间不一致

最近遇到个事情,Linux系统中date命令输出正常,但通过crontab执行的脚本,时间总是不正常:

#系统时间正常
[root@localhost tmp]# date
Thu Dec 13 11:41:15 CST 2018

#crontab调用的脚本时间不正常
[root@localhost 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 

猜你喜欢

转载自blog.csdn.net/Liv2005/article/details/84985297