解决crontab与系统时区不一致导致定时任务异常

narcissuskid
发布于 2023-08-11 / 34 阅读 / 0 评论 / 0 点赞

解决crontab与系统时区不一致导致定时任务异常

设置了jupter日报的定时任务,第二天发现任务没有正常执行,原来是crontab和系统时区不一致导致

问题定位

  1. 脚本单独运行正常
  2. 分钟级别crontab任务可生效,但指定小时不生效 | crontab | 生效 | | --- | --- | | * * * * * | √| | * 8 * * * | X| 推测:crontab时区和系统不一致

修复步骤

  1. 查看系统时区
date

返回

Fri Aug 11 09:51:14 CST 2023
  • "Fri" 表示星期五,表示这个时间是星期五。
  • "Aug" 表示八月,表示这个时间是八月份。
  • "11" 表示日期,表示这个时间是11号。
  • "09:51:14" 表示时间,表示这个时间是9点51分14秒。
  • "CST" 表示中国标准时间,表示这个时间是按中国标准时间(UTC+8)表示的。
  1. 修改crontab时区,在/etc/crontab文件中添加如下内容
CRON_TZ=Asia/Shanghai
TZ=Asia/Shanghai
  1. 重启服务
sudo /etc/init.d/cron restart
#
sudo service cron restart
sudo service rsyslog restart
#
sudo /bin/systemctl restart cron.service
sudo /bin/systemctl restart rsyslog.service

Reference

https://www.jianshu.com/p/f2fa78810949


评论