linux修改服务器时间

说实话,我第一次在客户端服务器上调整时间的时候,差点就让系统崩溃了。
所以这件事我得仔细说一下,尤其是时区,是最容易出事的。

1 .必须考虑时区。
我有一个东北的客户,坚持要切换到上海时区。
结果系统时间比实际时间提前了三个小时。
后来我发现那里的人以前用的是北京时间,而不是UTC+8 要检查当前时区,只需使用 date -R 即可。
如果您在输出中看到“GMT+08 00”,您就会知道这是亚洲/上海。
要更改时区,请使用 timedatectl set-timezone Asia/Shanghai。
该命令必须附加ctl后缀。
少一个字母会直接导致错误。

2 时间同步是一项技术活动 对于新系统,建议安装NTP服务,例如chrony。
这个东西比老的ntpdate聪明多了,可以自动纠错。
但如果你想手动调整时间,记得使用 hwclock --systohc 将系统时间同步到主板电池中的时间,否则重启后会乱跑。
我见过运维人员连续三天重启,只是忘记了这一步。

3 更改当前时间时要小心 直接使用 date -s '2 02 2 /06 /1 0' 来更改日期非常简单,但是需要添加秒来更改时间,例如 date -s '1 3 :1 2 :00'。
一个陷阱是,如果输入格式不正确,例如输入 1 3 :1 2 ,某些旧版本的系统会崩溃。
当时我的一台古董服务器差点就黑屏了。

4 设置 CST 需要迂回。
你提到的改变软链接的方法其实还可以简化。
只需使用 timedatectl set-timezone Asia/上海 即可。
无需手动维护/etc/localtime 文件。
如果您必须手动执行此操作,请确保链接指向 /usr/share/zoneinfo/Asia/Shanghai 并且不要使用像 ChinaStandardTime 这样的伪时区名称。

最后说一个小知识:由于部分服务器的安全限制,date命令可能没有修改权限,所以必须使用sudo。
我有一个朋友忘记添加sudo,当我更改时间时被锁定在系统之外。
最后,他只得重装系统。
因此,在调整服务器的时间之前,必须先确认权限。

linux设置服务器时间(Linux改服务器时间)