在Linux中使用date命令修改系统时间不生效

当我们使用date命令来修改系统时间的时候,发现命令返回修改成功

date -s '2021-03-04 11:21:13'

通过上面的命令执行,可以看到返回修改成功后的系统时间

Thu Mar  4 11:21:13 CST 2021

当我们再次运行date命令来查看系统时间的时候发现时间还是修改之前的,原因是现代的linux操作系统都会默认运行NTP这个时间同步服务,如果需要手动修改系统时间,那么需要先关闭同步功能,通过命令 timedatectl可以看到系统的时间情况

root@nbear:/opt/c# timedatectl
      Local time: Thu 2021-03-04 09:45:24 CST
  Universal time: Thu 2021-03-04 01:45:24 UTC
        RTC time: Thu 2021-03-04 01:45:24
       Time zone: Asia/Shanghai (CST, +0800)
 Network time on: yes
NTP synchronized: no
 RTC in local TZ: no

可以看到默认 Network time  on 这个选项是 yes的,所以我们需要先通过下面的命令关闭这个同步特性。

timedatectl set-ntp false

      Local time: Thu 2021-03-04 09:57:05 CST
  Universal time: Thu 2021-03-04 01:57:05 UTC
        RTC time: Thu 2021-03-04 01:57:05
       Time zone: Asia/Shanghai (CST, +0800)
 Network time on: no
NTP synchronized: yes
 RTC in local TZ: no

这样你就可以自己修改时间了,如果要恢复只需要运行

timedatectl set-ntp true

0 0 vote
Article Rating
此条目发表在Linux分类目录,贴了, 标签。将固定链接加入收藏夹。
Subscribe
提醒
guest
0 评论
Inline Feedbacks
View all comments