解决Docker中crontab任务不生效(填坑)

#安装crontab服务

yum install -y crontabs

#安装系统日志便于排查问题

yum install -y rsyslog

#启动crond服务

systemctl start crond

#启动rsyslog服务

systemctl start rsyslog

#加入定时任务

crontab -e

45 21 * * * /usr/bin/ls > /root/2222.txt

crontab -l #查看定时任务

等到时间到了之后,发现定时任务未执行

tail -f /var/log/cron  查看日志

发现时间不对,docker里时间与现实时间差8小时,即一个时区。需修改系统时间。

tzselect

解决Docker中crontab任务不生效(填坑)_第1张图片

解决Docker中crontab任务不生效(填坑)_第2张图片

解决Docker中crontab任务不生效(填坑)_第3张图片

解决Docker中crontab任务不生效(填坑)_第4张图片

vi /etc/profile   在底部加入TZ='Asia/Shanghai'; export TZ

source /etc/profile

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

#非必须 echo “Asia/shanghai” 》 /etc/timezone;

重启docker后tail -f  /var/log/cron

发现时间与实际一致了

定时任务成功

 

你可能感兴趣的:(Docker)