良许Linux教程网 Linux命令大全 Linux系统修改系统时间命令:date、ntp

Linux系统修改系统时间命令:date、ntp

众所周知,在生产环境中时间是一个很重要的概念,尤其是在做数据同步的时候。Linux 一般都是用来做服务器的,服务器一旦运行时间比较久,相应的系统时间也就会存在一定的误差,其实不止是服务器,像手表啊等等一些用来计时相关的,只要使用的时间长都会或多或少的存在误差。既然有误差,那么就需要调整,在 Linux 系统中我们可以使用 date 这个指令进行时间的设置,并且 date 命令使用起来比较灵活方便。但需要注意的是如果在做数据库相关的集群分片或者数据同步等操作时,这时候对时间是有要求的,多台机器之间的时间差不能有太大差别,所以通常这个场景下就需要用到 ntpdate 这个命令来完成时间的同步。

一、关于date

  1. 如何查看当前系统时间?

    date 命令是用来显示系统时间的,可以按照指定格式来显示日期,如果只键入 date 则以默认格式显示当前系统时间。例如:

    $ date
    Tue Nov 10 21:36:22 CST 2020

    当然,我们也可以按照指定的格式来显示日期,例如可以使用 “+” 开头的字符串来指定显示的格式,如下:

    $ date +'%Y-%m-%d %H:%M:%S'
    2020-11-10 21:37:49
  2. 如何修改系统时间?

    格式:date -s  时间

    将时间设置为 2021 年 11 月 10 日:

    $ date -s 11/10/21
    Wed Nov 10 00:00:00 CST 2021

    将时间设置为 23 点 20 分 30 秒:

    $ date -s 23:20:30
    Wed Nov 10 23:20:30 CST 2021

    将时间设置为 2020 年 11 月 10 日 21 点 46 分 30 秒:

    格式:MMDDhhmmYYYY.ss
    $ date 1110214620.30
    Tue Nov 10 21:46:30 CST 2020

    最后补充一点,为了避免将时间写入 BIOS 重启失效;当我们进行设置完成 Linux 系统的时间后,还需要用 hwclock 这个命令来刷新一下 BIOS 的时间,因为每次重新启动的时候,系统会重新由 BIOS 将时间读出来,因此通过以下命令可以将时间写入 BIOS:

    $ hwclock -w

二、同步网络时间

网络时间协议,英文名称:Network Time Protocol(NTP),这个协议是用来让网络设备之间进行时间同步的一个协议。使用 NTP 协议的目的其实就是为了实现时间同步,可以跟一些公网中常用的 NTP 服务同步,也可以比如说你的局域网中自己搭建一个 NTP 服务器,然后所有的设备都来同步它的时间,其实不一定非要说所有的设备时间都要是非常准确的,只要他们之间的时间一致就可以。对于 NTP 协议,既可以作为源来对其他设备进行时间的同步,也可以去同步其他源设备的时间。

  1. 检查是否安装 ntp 服务

    $ rpm -qa ntp
    ntp-4.2.6p5-29.el7.centos.2.x86_64
  2. 检查 ntp 服务是否启动

    $ systemctl status ntpd.service 
    active(running)表示运行成功状态
  3. 同步服务器时间

    $ ntpdate 210.72.145.44

    最后补充几个常用的 ntp 服务器:

    中国国家授时中心:210.72.145.44
    NTP服务器(上海) :ntp.api.bz
    美国:time.nist.gov
    复旦:ntp.fudan.edu.cn
    微软公司授时主机(美国) :time.windows.com
    台警大授时中心(台湾):asia.pool.ntp.org
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部