如何在 CentOS 7 上设置或更改时区
在 CentOS 上,系统的时区是在安装期间设置的,但可以在以后轻松更改。
使用正确的时区对于许多与系统相关的任务和流程很重要。例如,cron 守护进程使用系统的时区来执行 cron 作业,日志文件中的时间戳基于同一系统的时区。
本教程介绍如何在 CentOS 7 上设置或更改时区。
先决条件
为了能够更改系统的时区,您需要以 root 或用户身份登录并使用 sudo特权 .
检查当前时区
在 CentOS 和其他现代 Linux 发行版中,您可以使用 timedatectl
命令来显示和设置当前系统的时间和时区。
timedatectl
下面的输出显示系统的时区设置为 UTC:
输出
Local time: Wed 2019-02-06 22:43:42 UTC
Universal time: Wed 2019-02-06 22:43:42 UTC
RTC time: Wed 2019-02-06 22:43:42
Time zone: Etc/UTC (UTC, +0000)
NTP enabled: no
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
系统时区是通过将/etc/localtime
符号链接到/usr/share/zoneinfo
目录中的二进制时区标识符来配置的。因此,检查时区的另一种选择是使用 ls 命令
:
ls -l /etc/localtime
输出
lrwxrwxrwx. 1 root root 29 Dec 11 09:25 /etc/localtime -> ../usr/share/zoneinfo/Etc/UTC
在 CentOS 中更改时区
在更改时区之前,您需要找出要使用的时区的长名称。时区命名约定通常使用“地区/城市”格式。
要列出所有可用时区,您可以列出/usr/share/zoneinfo
目录中的文件或使用timedatectl
命令。
timedatectl list-timezones
输出
...
America/Tijuana
America/Toronto
America/Tortola
America/Vancouver
America/Whitehorse
America/Winnipeg
...
一旦您确定了哪个时区与您所在的位置是准确的,请以 sudo 用户身份运行以下命令:
sudo timedatectl set-timezone your_time_zone
例如,将系统的时区更改为America/Toronto
:
sudo timedatectl set-timezone America/Toronto
运行 timedatectl
命令以验证更改:
timedatectl
输出
Local time: Wed 2019-02-06 17:47:10 EST
Universal time: Wed 2019-02-06 22:47:10 UTC
RTC time: Wed 2019-02-06 22:47:10
Time zone: America/Toronto (EST, -0500)
NTP enabled: no
NTP synchronized: yes
RTC in local TZ: no
DST active: no
Last DST change: DST ended at
Sun 2018-11-04 01:59:59 EDT
Sun 2018-11-04 01:00:00 EST
Next DST change: DST begins (the clock jumps one hour forward) at
Sun 2019-03-10 01:59:59 EST
Sun 2019-03-10 03:00:00 EDT
通过创建符号链接更改时区
如果你运行的是较旧的 CentOS 版本
并且timedatectl
命令在您的系统上不存在,您可以通过将/etc/localtime
符号链接到/usr/share/zoneinfo
目录中的时区文件来更改时区。
删除当前的/etc/localtime
文件或符号链接:
sudo rm -rf /etc/localtime
确定您要配置的时区并创建符号链接 :
sudo ln -s /usr/share/zoneinfo/America/Toronto /etc/localtime
您可以通过列出 /etc/localtime
文件或发出 date
命令来验证它:
date
输出
Wed Feb 6 17:52:58 EST 2019
结论
在本指南中,我们向您展示了如何更改 CentOS 系统的时区。
如果您有任何问题,请随时发表评论。