合 Linux下使用timedatectl命令修改时间和时区
简介
timedatectl命令对于RHEL / CentOS 7和基于Fedora 21+的分布式系统来说,是一个新工具,它作为systemd系统和服务管理器的一部分,代替旧的传统的用在基于Linux分布式系统的sysvinit守护进程的date命令。
timedatectl命令可以查询和更改系统时钟和设置,你可以使用此命令来设置或更改当前的日期,时间和时区,或实现与远程NTP服务器的自动系统时钟同步。
在本教程中,我要讲的是,如何在你的Linux系统上,通过使用来自于终端使用timedatectl命令的NTP,设置date、time、timezone和synchronize time来管理时间。让你的Linux服务器或系统保持正确的时间是一个很好的实践,它有以下优点:
1)维护及时操作的系统任务,因为在Linux中的大多数任务都是由时间来控制的。
2)记录事件和系统上其它信息等的正确时间。
如何查找和设置Linux本地时区
1、要显示系统的当前时间和日期,使用命令行中的timedatectl命令,如下:
1 | # timedatectl status |
在上面的示例中,RTC time就是硬件时钟的时间。
2、Linux系统上的time总是通过系统上的timezone设置的,要查看当前时区,按如下做:
1 2 3 | # timedatectl OR # timedatectl | grep Time |
3、要查看所有可用的时区,运行以下命令:
1 | # timedatectl list-timezones |
4、要根据地理位置找到本地的时区,运行以下命令:
1 2 3 | # timedatectl list-timezones | egrep -o "Asia/B.*" # timedatectl list-timezones | egrep -o "Europe/L.*" # timedatectl list-timezones | egrep -o "America/N.*" |
5、要在Linux中设置本地时区,使用set-timezone开关,如下所示。
1 | # timedatectl set-timezone "Asia/Kolkata" |
中国上海的时区:
1 | # timedatectl set-timezone "Asia/Shanghai" |
推荐使用和设置协调世界时,即UTC。
1 | # timedatectl set-timezone UTC |
你需要输入正确命名的时区,否者在你改变时区的时候,可能会发生错误。在下面的例子中,由于 “Asia/Kalkata” 这个时区是不正确的,因此导致了错误。