对于许多与系统相关的任务和全过程,运用恰当时区至关重要。 例如,cron
守护程序运用系统的时区推行cron工作中,日志文档里的日期格式依据系统的时区。
在CentOS上,系统的时区需在安装过程中设置的,但拼装之后你都可以轻松的变动系统时区。timedatectl
主要是用来查询和变更系统数字时钟以及时区,开启或者禁用数据库同步服务。
系统时区
timedatectl
是一个命令行操作程序,可让您查询和变动系统时间与日期。她在所有依据当今systemd的Linux系统上边能用,包括CentOS 7。
在开启timedatectl
命令无法使用一切基本参数时,timedatectl
将打印出系统的时区。倘若拼装系统时没有设置时区。系统将使用默认UTC时区。
以下timedatectl命令很有可能打印出系统的时区和隶属时区的现在的时间。并说明系统数字时钟服务同歩以及NTP服务情况:
timedatectl
Local time: Wed 2020-05-06 19:33:20 UTC
Universal time: Wed 2020-05-06 19:33:20 UTC
RTC time: Wed 2020-05-06 19:33:22
Time zone: UTC (UTC, 0000)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
上面的timedatectl
命令导出来,可以留意到系统所使用的UTC时区。那么这与你所属时区不一致。可以正常启动timedatectl
修改系统时区。
变动时区
变动时区之前,你需要找到与你目前时区相符的时区长名称。长时区的名称运用地区/大都市
文件类型作为取名字。
如果你不知道你们所在位置的时区长名称,可以通过运用timedatectl
命令的list-timezones
选择项例举全世界所有可用的时区。
一般timedatectl
命令会打印出所有时区。我们在这里timedatectl
列举的时区名称通过管道传递给grep命令过滤时区名称。
在教学中,我们在这里运用东亚地区/上海
的时区作为系统的时区。我们将要大概知道长时区的名称里将包括shanghai
的标志符。这时候我么运用shanghai
作为grep
关键字过滤就可以探寻北京时区。
以下timedatectl
命令打印出所有时区,接着通过管道传输grep命令不区分大小写查找包含括shang
关键词的时区:
timedatectl list-timezones | grep -i shang
该命令将打印出以下导出来:
Asia/Shanghai
现如今,早就探寻所在位置的时区长名称。
大伙儿就可以应用timedatectl
的set-timezone
选择项设置系统的时区,而且在set-timezone
选择项之后传输长时区名称。
应以root和具有sudo管理权限顾客运行以下timedatectl
命令设置系统的时区为Asia/Shanghai
:
sudo timedatectl set-timezone Asia/Shanghai
上面的timedatectl
命令将不能产生任何导出来。到这里,大伙儿已将系统时区设成Asia/Shanghai
。如果你通过验证系统时区是否验证通过。
再一次没有任何的选择项基本参数开启timedatectl
命令,打印出系统目前设置的时区就可以:
timedatectl
Local time: Wed 2020-05-06 15:41:42 EDT
Universal time: Wed 2020-05-06 19:41:42 UTC
RTC time: Wed 2020-05-06 19:41:48
Time zone: America/New_York (EDT, -0400)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
软链接修改系统时区
Linux系统运用/etc/localtime
文档存储着系统的时区,它是一个软链接/符号链接文本文档。它偏向/usr/share/zoneinfo/
文件名称以及网站根目录里的时区文本文档。
这类时区文本文档以二进制的储放着时区的信息。当系统软件需要用户呈现时区时。系统软件将加载/etc/localtime
最终对准的二进制时区文本文档。
因此,大家可以根据修改/etc/localtime
符号链接最终对准的二进制时区文本文档来配置系统的时区。还可以用ls
命令查看目前时区。
以ls命令将打印出/etc/localtime
全部信息,你会看到/etc/localtime
文件的类型是符号链接,并偏向/usr/share/zoneinfo/Hongkong
。
ls -al /etc/localtime
lrwxrwxrwx 1 root root 28 5月 12 19:03 /etc/localtime -> /usr/share/zoneinfo/Hongkong
己经核实了系统所有所使用的时区。假如我们将要时区更改为上海。可以用ln命令马上变更/etc/localtime
偏向的二进制时区文件修改系统时区。
如果你可变性所在位置的时区名称,可以用find . -iname "你时区关键字*"
命令查找时区名称核心关键词,i
说明不区分大小写。
find
命令将例举每一个极有可能包含时区名称核心关键词的二进制时区。这类文本文档都能够用于运用ln
命令设置系统的时区。
以下ln
命令修改/创建文件/usr/share/zoneinfo/Asia/Shanghai
到/etc/localtime
的软链接:
sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
倘若如果你需要验证系统时区成功和失败修改或者设置。可以用date
命令打印出发生环节系统时间也。当时区发生改变,date
命令时间可能变动。
以下date命令很有可能打印出系统的现在的时间:
date
结论
大伙儿为大家彰显了如何更改CentOS系统的时区。如有任何疑问,请随时。
