云计算百科
云计算领域专业知识百科平台

服务器时间错乱:一个让监控和定时任务全乱套的隐藏地雷

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */
#content_views .toc,
/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */
#content_views.markdown_views > p:empty:has(+ .toc),
#content_views.markdown_views > .toc + p:empty,
/* 富文本旧版目录标记 */
#content_views.htmledit_views #main-toc,
#content_views.htmledit_views #hr-toc,
#content_views.htmledit_views p[id*=\”-toc\”] {
display: none !important;
}
/* 目录去掉后,紧跟的首个标题不再多出一块上边距 */
#content_views.markdown_views > .toc + h1,
#content_views.markdown_views > .toc + h2,
#content_views.markdown_views > .toc + h3,
#content_views.markdown_views > .toc + h4,
#content_views.markdown_views > .toc + p:empty + h1,
#content_views.markdown_views > .toc + p:empty + h2,
#content_views.markdown_views > .toc + p:empty + h3,
#content_views.markdown_views > .toc + p:empty + h4 {
margin-top: 0 !important;
}

背景 某天早上 10 点,你把某台服务弄挂了测试报警。微信确实收到了告警,但你打开 Uptime Kuma 的界面一看,记录显示:

事件时间:02:00 AM

你揉了揉眼睛,现在是上午 10 点,怎么监控记录是凌晨 2 点?而且你之前配的“每天凌晨 3 点备份”的 cron 任务,查看日志发现它是在下午 3 点才跑的。

原因 这是 Linux 云服务器最常见的一个坑:默认时区是 UTC(协调世界时),而你人在中国,用的是 CST(北京时间,UTC+8)。

服务器上的时间没调对,会导致一连串灾难:

监控平台(如 Uptime Kuma):如果你没配时区,它默认按 UTC 记录和显示。你上午 10 点挂的,它记成凌晨 2 点。

定时任务(Crontab):你写 0 3 * * * 以为凌晨 3 点跑,其实是 UTC 的 3 点,也就是北京时间上午 11 点跑。

数据库:写入的时间戳全是 UTC,查日志对不上账。

SSL 证书校验:如果服务器时间偏差太大,curl 会直接报证书未生效或已过期。

解决 三步把服务器时间拉回正轨。

第 1 步:调整宿主机时区 先看看现在的时区:

timedatectl

如果输出里有 Time zone: UTC (UTC, +0000),说明中招了。

改成上海时区:

sudo timedatectl set-timezone Asia/Shanghai

第 2 步:开启 NTP 自动同步 光改时区不够,服务器如果长时间跑,时间会漂移(变快或变慢)。需要开启 NTP(网络时间协议),让服务器定期向时间服务器对表。

# 开启自动同步
sudo timedatectl set-ntp true

# 检查同步状态
timedatectl s

赞(0)
未经允许不得转载:网硕互联帮助中心 » 服务器时间错乱:一个让监控和定时任务全乱套的隐藏地雷
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!