任务设的每天 2 点跑,实际在 10 点跑。
原因:容器时区是 UTC,cron 按 UTC 解释 2 点,等于北京时间 10 点。
解法:
- 容器设 TZ 环境变量
- 或者 cron 里用 CRON_TZ=Asia/Shanghai
- 应用层单独设时区
三处都要设,任何一处不对都会错。
排查方法:在容器里跑 date,看输出的时区;再看 crontab 的日志时间戳,对比。
现在我的部署脚本里固定带时区设置,新项目不用再想这事。
主楼- 暂无回复
继续逛逛
任务设的每天 2 点跑,实际在 10 点跑。
原因:容器时区是 UTC,cron 按 UTC 解释 2 点,等于北京时间 10 点。
解法:
三处都要设,任何一处不对都会错。
排查方法:在容器里跑 date,看输出的时区;再看 crontab 的日志时间戳,对比。
现在我的部署脚本里固定带时区设置,新项目不用再想这事。