linux设置系统时间

我们在使用linux的时候,会经常发现时间不对。一般时间不对的原因有时区不对、或者是时间本身设置错误。

我们可以通过自动同步或者手动设置时间的方式来修改我们的系统时间。

查看系统时间和时区

查看系统的时间

[root@local ~]# date
Wed Sep  2 16:39:18 CST 2020 

查看系统的时区

[root@local ~]# date -R
Wed, 02 Sep 2020 16:40:15 +0800

可以看到我现在电脑的时区是东8区

查看详细信息时间

[root@local ~]# timedatectl
      Local time: Wed 2020-09-02 16:41:28 CST
  Universal time: Wed 2020-09-02 08:41:28 UTC
        RTC time: Wed 2020-09-02 08:41:28
       Time zone: Asia/Shanghai (CST, +0800)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a

修改时区

方法1:使用tzselect进行修改

[root@local ~]# tzselect

我们要把时区设置为亚洲→ 中国→ 上海。记住口诀4911

方法2:直接把时区覆盖为上海:

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

更改时间

在更改时间这里有自动同步和手动设置两种方法

自动同步

使用ntpdate进行时间同步

安装ntpdate

sudo apt-get install ntpdate

查询ntp服务器的时间

ntpdate -q time.windows.com

同步时间

ntpdate time.windows.com

手动设置时间

date -s  10:23:10
date -s 'Thu, 17 Dec 2015 10:23:10 GMT'

这种方法有一个缺点,就是时间的精度太差

借助网站http请求头部来设置时间

date -s "$(curl -s --head http://www.baiducom | grep ^Date: | sed 's/Date: //g')"

写入硬件时间

linux每次启动都会从硬件加载时间进来,我们需要把当前时间写入硬件以确保下次启动还是这个时间。

查询硬件时间

sudo hwclock -r

把当前时间写入硬件

sudo hwclock -w

最后时间就妥妥的设置好啦!如果本文对你有所帮助,希望点击推荐转发让更多人看到!

原文地址:https://www.cnblogs.com/Jaryer/p/13602531.html