有台ubuntu服务器,有几个任务计划一直正常运行。
某天发现没执行。手动执行脚本,完全没问题,未出现任何错误。
猜测是不是因为夜间网络有问题,导致执行失败。于是再观察一天。
第二天再看,发现没执行。使用命令crontab -l查看任务列表。
也没发现问题。再手动执行脚本,完全没问题,未出现任何错误。
事情多,先干别的事,后来忘记了。
第三天,问题依旧。查看crond服务也正常运行。
灵机一动,crontab配置没问题,脚本也没问题,那么合理的解释就是crontab服务判断此时不应该执行。这么看来,应该是服务器时钟出了问题。
使用命令date查看单签日期和时间,果然时间不对,实际上是时区不正确。
修改时区后,第四天早上检查,任务计划已经执行完毕。
后补:修改服务器时区
先试用tzselect命令,按提示亚洲->中国上海
保存后,复制文件到etc下:
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
还有一个方法:
执行命令如下
timedatectl set-timezone Asia/Shanghai
设置命令执行后,时区立即生效。