站点图标 Linux-技术共享

如何修改linux时区

L3Byb3h5L2h0dHAvaTIuNTFjdG8uY29tL2ltYWdlcy9ibG9nLzIwMTgwOS8yMS8yNzg3MjQ2Y2Y3M2MzYTUxNGQ3ZGIxYjcwNjE4NWJmZi5wbmc

在任何新的服务器安装完成之后,建议都安装 NTP 时间服务器。通过安装这个时间服务器,你可以有效的调整服务器的时间,时区,并能够对服务器的时间进行自动更新。
更主要的是,如果你还在服务器上部署的应用的话,你还能够从源头避免应用和服务器的时间偏差,以及和数据库服务器的偏差。
计算机内部所记录的时钟是记载于 BIOS (CMOS) 内的,但如果你的计算机上面的电池没电了,或者是某些特殊因素导致 BIOS 数据被清除, 此时计算机的时间就会不准。同时,某些操作系统程序的问题,也可能导致我们看到的时间与现实社会不相同的情况。 所以我们都会调整一下时间,好让计算机系统的时间可以一直保持正确的状态。 在实际生活中,我们可以透过电视台、广播电台、电话等等来调整我们的手表,那么如果是在网络上呢? 该如何让我们的主机随时保持正确的时间信息?这就需要 NTP 这个服务器。
Linux 操作系统的计时方式主要是由 1970/01/01 开始计算总秒数,因此,如果你还记得 date 这个指令的话, 会发现它有个 +%s 的参数,可以取得总秒数,这个就是软件时钟。但,如同前面说的,计算机硬件主要是以 BIOS 内部的时间为主要的时间依据 (硬件时钟),而偏偏这个时间可能因为 BIOS 内部芯片本身的问题,而导致 BIOS 时间与标准时间 (UTC) 有一点点的差异存在!所以为了避免主机时间因为长期运作下所导致的时间偏差,进行时间同步 (synchronize) 的工作就显的很重要了!

配置时间

在 CentOS 中配置时间首先你需要修改时区。

显示时区

[root@ossez ~]# date +%z
-0400

这里显示的时间是美国东部时间,-0400 的时区

系统中的时间文件保存在:/usr/share/zoneinfo 路径下。

修改时区

假设你希望将服务器的时区修改为美国东部时间

可以运行下面的命令:

[gaarai@server ~]$ sudo mv /etc/localtime /etc/localtime.bak
[gaarai@server ~]$ sudo ln -s /usr/share/zoneinfo/America/New_York /etc/localtime

安装 NTP

安装 NTP 服务

yum install ntp

打开 NTP 防火墙端口

将 NTP 的防火墙打开,NTP 服务使用的是 UDP 123 端口。

# firewall-cmd --add-service=ntp --permanent
# firewall-cmd --reload

启动 NTP 服务

# systemctl start ntpd
# systemctl enable ntpd
# systemctl status ntpd

NTP 强制同步

ntpdate -q  0.ro.pool.ntp.org  1.ro.pool.ntp.org

更多有关 NTP 的命令和使用,请参考下面的链接。一般来说服务器配置到这里就可以了,因为你的 ntp 服务会根据你配置的时间状态对你的服务器时间进行同步。

退出移动版