ob-md-pub2

10次阅读
没有评论

20260318修改服务器为本地时区

你的服务器当前时区是:

Etc/UTC

如果要改成 中国上海时区(UTC+8),在 Linux(systemd 系统,如 Ubuntu / Debian)中非常简单,用 timedatectl 即可。


一、查看可用时区

先确认系统里有 Shanghai

timedatectl list-timezones | grep Shanghai

应该会看到:

Asia/Shanghai

二、设置为上海时区

执行:

timedatectl set-timezone Asia/Shanghai

三、确认是否成功

再查看:

timedatectl

应该变成:

Local time: Wed 2026-03-18 23:27:00 CST
Universal time: Wed 2026-03-18 15:27:00 UTC
Time zone: Asia/Shanghai (CST, +0800)

四、再用 date 查看

date

输出类似:

Wed Mar 18 23:27:10 CST 2026

五、是否需要重启服务?

不需要。

timedatectl 会立即生效。


六、如果你使用 Docker(重要提醒)

如果容器需要同步宿主机时区,建议在 docker-compose 中挂载:

volumes:
  - /etc/localtime:/etc/localtime:ro
  - /etc/timezone:/etc/timezone:ro

这样容器里的时间也会是:

Asia/Shanghai

否则有些容器仍然是:

UTC

七、补充:服务器推荐时间设置

很多运维会这样配置:

服务器时区:UTC
应用时区:本地

原因是:

日志统一

但如果你主要是个人使用,直接:

Asia/Shanghai

是最方便的。


如果你愿意,我可以再告诉你一个 服务器时间管理的运维技巧

很多人不知道 Docker + Linux + 数据库 + 日志 的时间其实可能 出现四种不一致的时区,我可以教你一套方法一次性彻底统一。

root@isrv:/opt/docker# date
Wed Mar 18 15:26:45 UTC 2026
root@isrv:/opt/docker# timedatectl
               Local time: Wed 2026-03-18 15:26:49 UTC
           Universal time: Wed 2026-03-18 15:26:49 UTC
                 RTC time: Wed 2026-03-18 15:26:49
                Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no
root@isrv:/opt/docker# timedatectl list-timezones | grep Shanghai
Asia/Shanghai
root@isrv:/opt/docker# timedatectl set-timezone Asia/Shanghai
root@isrv:/opt/docker# date
Wed Mar 18 23:30:19 CST 2026
root@isrv:/opt/docker# 
正文完
 0
评论(没有评论)