crontab执行时间与系统时间不一致
一:问题查找:
问题描述:今天新发现一个问题,定时任务写了之后一直不执行,查看日志才发现,执行的时间给我定时的时间相差了12个小时。
- 1、查看定时任务的相关日志:/var/log/cron
命令:
cat /var/log/cron
tail -f /var/log/cron
相关截图如下
问题分析 : crontab的日志里执行时间比现在的时间,差了12个小时,但是用date命令查看日志时, 发现时间好像又没有什么问题。
- 2、查看/etc/localtime
命令:
ll /etc/localtime
结果如下:
[root@localhost ~]# ll /etc/localtime
lrwxrwxrwx. 1 root root 38 May 2 2020 /etc/localtime -> ../usr/share/zoneinfo/America/New_York
二:解决办法:
问题分析:根据上面查到的结果,系统时间是纽约时间,应该是这个的原因了。
解决办法:修改时区,然后重启crontab
rm -rf /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
systemctl restart crond
备注:重启后发现,日志的时间依然还是纽约时间。尝试重启rsyslog
systemctl restart rsyslog
三:结果查看:
同一中的问题分析一样,查看日志/var/log/cron,查看系统时间是否更改成中国时区,查看/etc/localtime