← 全部文章

技术与生活 / 一篇记录

同一条 cron,换台服务器就晚了八小时

同一条 cron 在不同时区的主机上会对应不同本地时刻。

cron 的时间表达式需要放在具体时区中解释。服务器、容器和云端调度平台不一定使用相同时区,夏令时地区还可能出现日期边界变化。

操作与观察

这是一条运维检查思路,具体阈值与工具要结合服务规模和实际部署环境选择。

date; crontab -l

记录主机时区并手工换算下一次执行时间。

把期望时刻写成带时区的清单,再换算到调度器使用的基准。检查任务日志时同样保留时区信息,避免把正确执行误认为发生在错误时间。

想确认下一次运行,不应仅凭自然语言“每六小时”推测。表达式通常表示固定时刻集合,并不意味着从上次手动运行结束后再延迟六小时,两种语义需要分清。

别遗漏这条边界

GitHub Actions 的 schedule 默认以 UTC 为基准,不应照搬服务器本地时间。

参考:运维 文档。

搜索文章

输入关键词,找回一篇记录。