linux-centos7系统设置时区及同步时间

2023-07-01 14:52:52 浏览数 (2)

# 查看centos7 系统时区

首先,在centos7 系统可以使用命令:【timedatectl】查看系统的时区;使用timedatectl显示的结果如下:

代码语言:javascript复制
timedatectl 
      Local time: Tue 2023-06-27 17:37:29 CST
  Universal time: Tue 2023-06-27 09:37:29 UTC
        RTC time: Tue 2023-06-27 09:37:28
       Time zone: Asia/Shanghai (CST,  0800)
     NTP enabled: yes
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a

# 修改系统时区

如果上面的结果显示本系统的时区不正确,则应该使用命令对时区进行修改

代码语言:javascript复制
timedatectl set-timezone Asia/Shanghai

如上面的命令,将系统时区设置为上海,这是因为我想使用上海的时间,当然你也可以通过指定其他的时区,将系统时间对齐为其他地区的时间。 如果想选用其他的时区,而有不知道其时区的具体写法,可以使用下面查看所有时区

代码语言:javascript复制
# 1. 查看所有时区名称
timedatectl list-timezones
# 2. 查看亚洲各地的时区名称
timedatectl list-timezones | grep Asia

# 修改系统时间

同步系统时间(自动) 在同步系统时间的之前,首先需要修改系统的时区,这样在同步系统时间的时候才会将系统时间对齐到该时区。在同步系统时间时,由于起初并未修改系统的时区,导致每次同步系统时间都和宿主机不一致。宿主机使用的时间就是日常生活中使用的北京时间,但每次执行命令后,系统的时间都和北京时间不一致。最初我以为是同步系统时间的命令写错了,但是后来修改了系统时区之后,再次使用相同的同步命令,系统时间就同步为北京时间了。

代码语言:javascript复制
# 同步系统时间的命令
# 语法格式:ntpdate 时间校准服务器域名/ip
# 1.使用域名进行同步
ntpdate cn.pool.ntp.org
# 2.使用ip进行同步
ntpdate 210.72.145.44
# 1和2是等效的

使用该命令的前提是,linux服务器能够连接公网,如果有些同学希望在内网的服务器进行系统时间同步,则需要询问自己公司的时间校准服务器。 当然公网的时间服务器一般来说有下面3个,大家可以随意使用: 1)美国标准技术院时间服务器:time.nist.gov(192.43.244.18) 2)上海交通大学网络中心NTP服务器地址:ntp.sjtu.edu.cn(202.120.2.101) 3)中国国家授时中心服务器地址:cn.pool.ntp.org(210.72.145.44)

# 手动修改系统时间

当然修改系统时间除了像上面使用时间服务器进行修改,也可以手动修改系统时间,具体命令是:

代码语言:javascript复制
date -s "20211001 20:00:00"

# 查看系统时间

在同步系统时间后,可以使用date命令查看当前系统的时间

代码语言:javascript复制
Tue Jun 27 17:43:17 CST 2023

# 设置定时任务

在进行手动同步系统时间之后,我们也可以写一个定时任务,定时进行系统时间同步,更新时间。 如下面的命令,设定了一个在每天凌晨12点进行系统时间同步定时任务。

代码语言:javascript复制
# 1. 编辑定时任务列表
crontab -e
# 像使用vim一样对定时任务列表进行编辑,保存退出即可生效
0 12 * * * ntpdate cn.pool.ntp.org

参考链接 (opens new window)

0 人点赞