当前位置:首页 >> 技术问题

centos7修改时区:如何在CentOS 7上设置或更改时区

centos7如何修改时区?在CentOS上,系统的时区在安装期间已进行设置,但也可以在以后更改所在时区。对于许多与系统相关的任务和流程,使用正确的时区非常重要。例如,cron守护程序使用系统的时区执行cron作业,日志文件中的时间戳基于同一系统的时区。

本教程介绍如何在CentOS 7上设置或更改时区。相同的说明适用于任何基于Ubuntu的发行版,包括RedHat7,Fedora和Open SUSE。

前提条件

您需要以具有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中的时区

在更改时区之前,您需要找到要使用的时区的长名称。时区命名约定通常使用“区域/城市”格式。

要列出所有可用时区,您可以使用ls命令列出/usr/share/zoneinfo目录中的文件或使用timedatectl命令。

timedatectl list-timezones

Europe/Oslo

Europe/Paris

Europe/Podgorica

Europe/Prague

Europe/Riga

Europe/Rome

Europe/Samara

确定时区与您的位置准确无误后,请以sudo用户身份运行以下命令:

sudo timedatectl set-timezone your_time_zone

例如,要将系统的时区更改为Europe/Rome:

sudo timedatectl set-timezone Europe/Rome

运行timedatectl命令以验证更改:

timedatectl

Local time: Thu 2019-01-24 00:27:43 CET

Universal time: Wed 2019-01-23 23:27:43 UTC

RTC time: Wed 2019-01-23 23:27:44

Time zone: Europe/Rome (CET, +0100)

System clock synchronized: yes

systemd-timesyncd.service active: yes

RTC in local TZ: no

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

如果您运行的是较旧版本的CentOS,并且系统上没有timedatectl命令,则可以通过符更改号链接/usr/share/zoneinfo目录中的时区来更改时区 /etc/localtime。

删除当前/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系统的时区。如果您有任何疑问,请随时发表评论。

  • 关注微信

猜你喜欢