在设置crontab定时任务时出现时差问题

最近在学习python爬虫时,需要配置crontab定时执行python脚本,以此爬取yande.re上的每日热图并po到我的[telegram频道][1]上,但是crontab并未定时执行任务。

输入 tail -f /var/log/cron 有以下结果:

1
2
Apr  2 21:01:01 InsidiousFlickering-VM run-parts(/etc/cron.hourly)[12107]: starting 0anacron
Apr  2 21:01:01 InsidiousFlickering-VM run-parts(/etc/cron.hourly)[12116]: finished 0anacron

输入date命令查看系统时间: Fri Apr 3 09:10:20 CST 2020 可以得出crontab的时间比系统时间差了12个时区(这是因为我修改之前系统时间到东八区,而crontab所运行的环境与系统直接运行命令所调用的环境不同)

因此如果出现系统时间与crontab时间不同步的情况,使用如下命令

1
2
3
# 重启rsyslog日志服务&crontab
service rsyslog restart
service crond restart

再次输入: tail -f /var/log/cron

就可以看到crontab时间已经与系统时间同步啦。

至于修改系统时间

使用东八区

[root]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime [1]: https://t.me/yande_hot

Licensed under CC BY-NC-SA 4.0