如何在CentOS 8上设置或者更改时区

时间:2020-03-05 15:27:31  来源:igfitidea点击:

对于许多与系统相关的任务和过程,使用正确的时区至关重要。
例如,cron守护程序使用系统的时区执行cron作业,而日志文件中的时间戳基于同一系统的时区。

在CentOS上,系统的时区是在安装过程中设置的,但以后可以轻松更改。

本文介绍了如何在CentOS 8系统上设置或者更改时区。

检查当前时区

“ timedatectl”是一个命令行实用程序,可让我们查看和更改系统的时间和日期。
它在所有基于systemd的现代Linux系统上都可用:

timedatectl

输出显示系统的时区。
在此示例中,时区设置为UTC:

Local time: Sat 2017-03-21 21:30:22 UTC
           Universal time: Sat 2017-03-21 21:30:22 UTC
                 RTC time: Sat 2017-03-21 21:30:22
                Time zone: UTC (UTC, +0000)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

如果收到警告,“系统配置为读取本地时区的RTC时间.”,请运行以下命令以在UTC中使用RTC:

timedatectl

通过将“/etc/localtime”符号链接到“/usr/share/zoneinfo”目录中的二进制时区标识符来配置系统时区。
检查时区的另一个选项是使用'ls'命令显示符号链接指向的路径:

ls -l /etc/localtime
lrwxrwxrwx. 1 root root 23 Nov 21 23:30 /etc/localtime -> /usr/share/zoneinfo/UTC

在CentOS中更改时区

在更改时区之前,我们需要找出要使用的时区的长名称。
时区使用“地区/城市”格式。

要列出所有可用时区,请使用“ list-timezones”选项调用“ timedatectl”命令:

timedatectl list-timezones
...
America/Tijuana
America/Toronto
America/Tortola
America/Vancouver
America/Whitehorse
America/Winnipeg
...

一旦确定了哪个时区适合位置,请以root或者具有sudo特权的用户身份运行以下命令:

sudo timedatectl set-timezone your_time_zone

例如,要将系统的时区更改为“美国/多伦多”:

sudo timedatectl set-timezone America/Toronto

运行“ timedatectl”命令以验证更改:

timedatectl
Local time: Sat 2017-03-21 17:43:39 EDT
           Universal time: Sat 2017-03-21 21:43:39 UTC
                 RTC time: Sat 2017-03-21 21:43:40
                Time zone: America/Toronto (EDT, -0400)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

通过创建符号链接来更改时区

如果我们正在运行旧版本的CentOS,并且系统上不存在“ timedatectl”命令,则可以通过将“/etc/localtime”符号链接到“/usr/share/zoneinfo”目录中的时区文件来更改时区。

确定要配置的时区并创建符号链接:

sudo ln -sf /usr/share/zoneinfo/America/Toronto /etc/localtime

通过列出“/etc/localtime”文件或者发出“ timedatectl”或者“ date”命令来验证更改:

date
Sat Mar 21 17:46:10 EDT 2017