对于许多与系统相关的任务和进程,使用正确的时区是必不可少的。例如,cron守护进程使用系统的时区执行cron作业,日志文件中的时间戳基于同一系统的时区。

环境

​Centos​​8

检查现在的时区

timedatectl是一个​​命令​​行实用程序,允许您查看和更改系统的时间和日期。

[root@localhost ~]# timedatectl 
Local time: Tue 2020-03-31 16:35:23 CST
Universal time: Tue 2020-03-31 08:35:23 UTC
RTC time: Tue 2020-03-31 08:35:23
Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no

CentOS 8系统更改时钟时区_符号链接

更改时区

在更改时区之前,您需要找出要使用的时区名称。要列出所有可用时区,请使用下面的​​命令​​:

[root@localhost ~]# timedatectl list-timezones

Asia/Samarkand
Asia/Seoul
Asia/Shanghai
Asia/Singapore
Asia/Srednekolymsk

然后使用set-timezone选项更改时区,比如更改为Europe/Berlin:

[root@localhost ~]# timedatectl set-timezone Europe/Berlin

CentOS 8系统更改时钟时区_符号链接_02

使用创建链接的方式更改时区

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

查看一下/usr/share/zoninfo下面的时区文件,

[root@localhost ~]# ls /usr/share/zoneinfo/
[root@localhost ~]# ls /usr/share/zoneinfo/Asia/

CentOS 8系统更改时钟时区_守护进程_03

CentOS 8系统更改时钟时区_符号链接_04

现在替换时区文件。

[root@localhost ~]# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
[root@localhost ~]# date
Tue Mar 31 16:53:59 CST 2020

可以看到已经切换到了CST中国标准时间

总结

在本文中,使用了两种方式修改时区。一种是使用timedatectl,另一种方式使用创建链接的方式。