Linux系统之时间同步实现方法

 更新时间:2025年08月28日 10:59:09   作者:江湖有缘  
本文系统介绍了NTP、ntpdate和chrony三种时间同步工具的使用方法,包括安装、配置、启动、状态检查及同步失败处理,同时涵盖手动调整时间、同步硬件时间与设置时区的操作步骤

一、使用NTP服务时间同步

1.安装ntp

[root@node ~]# yum -y install ntp

2.启动ntp服务

[root@node ~]# systemctl start  ntpd
[root@node ~]# systemctl enable  ntpd
Created symlink from /etc/systemd/system/multi-user.target.wants/ntpd.service to /usr/lib/systemd/system/ntpd.service.

3.查看ntp服务

[root@node ~]# systemctl status ntpd
● ntpd.service - Network Time Service
   Loaded: loaded (/usr/lib/systemd/system/ntpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2022-08-04 08:00:47 CST; 7h left
 Main PID: 20746 (ntpd)
    Tasks: 1
   Memory: 768.0K
   CGroup: /system.slice/ntpd.service
           └─20746 /usr/sbin/ntpd -u ntp:ntp -g

Aug 04 08:00:47 node ntpd[20746]: Listen normally on 6 lo ::1 UDP 123
Aug 04 08:00:47 node ntpd[20746]: Listen normally on 7 ens33 fe80::8a83:7297:7cb8:9934 UDP 123
Aug 04 08:00:47 node ntpd[20746]: Listening on routing socket on fd #24 for interface updates
Aug 04 08:00:47 node systemd[1]: Started Network Time Service.
Aug 04 08:00:47 node ntpd[20746]: 0.0.0.0 c016 06 restart
Aug 04 08:00:47 node ntpd[20746]: 0.0.0.0 c012 02 freq_set kernel 0.000 PPM
Aug 04 08:00:47 node ntpd[20746]: 0.0.0.0 c011 01 freq_not_set
Aug 04 08:00:56 node ntpd[20746]: 0.0.0.0 c61c 0c clock_step -28798.353463 s
Aug 04 00:00:57 node ntpd[20746]: 0.0.0.0 c614 04 freq_mode
Aug 04 00:00:58 node ntpd[20746]: 0.0.0.0 c618 08 no_sys_peer

4.修改ntp.conf文件

[root@node ~]# vim /etc/ntp.conf
[root@node ~]# grep server /etc/ntp.conf 
# Use public servers from the pool.ntp.org project.
#server 0.centos.pool.ntp.org iburst
server ntp.aliyun.com iburst
#broadcast 192.168.1.255 autokey	# broadcast server
#broadcast 224.0.1.1 autokey		# multicast server
#manycastserver 239.255.254.254		# manycast server

5.重启服务

[root@node ~]# systemctl restart ntpd

6.检查同步状态

[root@node ~]# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 203.107.6.88    100.107.25.114   2 u    2   64    1   30.975  149.499   0.393

二、使用ntpdate同步

1.使用ntpd命令同步

[root@node ~]# ntpdate ntp.aliyun.com
 4 Aug 00:07:17 ntpdate[20924]: adjust time server 203.107.6.88 offset -0.001543 sec

2.查看时间

[root@node ~]# date
Thu Aug  4 00:07:46 CST 2022

三、处理ntpdate同步失败报错处理方法

1.报错信息

cna02:~ # ntpdate ntp1.aliyun.com
 4 Aug 07:23:41 ntpdate[18694]: the NTP socket is in use, exiting

2.处理方法

cna02:~ # service ntpd stop
Redirecting to /bin/systemctl stop ntpd.service

3.重新同步

cna02:~ # ntpdate ntp1.aliyun.com
 3 Aug 23:22:36 ntpdate[28980]: step time server 120.25.115.20 offset -28911.609110 sec

4.查看时间是否正确

cna02:~ # date
Wed Aug  3 23:22:41 CST 2022

四、使用chrony服务时间同步

1.安装chrony

[root@node ~]# yum -y install chrony
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.bfsu.edu.cn
 * extras: mirrors.bfsu.edu.cn
 * updates: mirrors.bfsu.edu.cn
Resolving Dependencies
--> Running transaction check
---> Package chrony.x86_64 0:3.2-2.el7 will be updated
---> Package chrony.x86_64 0:3.4-1.el7 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

===============================================================================================================================================================================
 Package                                  Arch                                     Version                                        Repository                              Size
===============================================================================================================================================================================
Updating:
 chrony                                   x86_64                                   3.4-1.el7                                      base                                   251 k

Transaction Summary
===============================================================================================================================================================================
Upgrade  1 Package

Total download size: 251 k
Downloading packages:
No Presto metadata available for base
chrony-3.4-1.el7.x86_64.rpm                                                                                                                             | 251 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Updating   : chrony-3.4-1.el7.x86_64                                                                                                                                     1/2 
  Cleanup    : chrony-3.2-2.el7.x86_64                                                                                                                                     2/2 
  Verifying  : chrony-3.4-1.el7.x86_64                                                                                                                                     1/2 
  Verifying  : chrony-3.2-2.el7.x86_64                                                                                                                                     2/2 

Updated:
  chrony.x86_64 0:3.4-1.el7                                                                                                                                                    

Complete!

2.启动chrony服务

[root@node ~]# systemctl enable --now chronyd
Created symlink from /etc/systemd/system/multi-user.target.wants/chronyd.service to /usr/lib/systemd/system/chronyd.service.

3.查看chrony状态

[root@node ~]# systemctl status chronyd
● chronyd.service - NTP client/server
   Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2022-08-04 00:12:27 CST; 29s ago
     Docs: man:chronyd(8)
           man:chrony.conf(5)
  Process: 21136 ExecStartPost=/usr/libexec/chrony-helper update-daemon (code=exited, status=0/SUCCESS)
  Process: 21132 ExecStart=/usr/sbin/chronyd $OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 21134 (chronyd)
    Tasks: 1
   Memory: 364.0K
   CGroup: /system.slice/chronyd.service
           └─21134 /usr/sbin/chronyd

Aug 04 00:12:27 node systemd[1]: Starting NTP client/server...
Aug 04 00:12:27 node chronyd[21134]: chronyd version 3.4 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCFILTER +SIGND +ASYNCDNS +SECHASH +IPV6 +DEBUG)
Aug 04 00:12:27 node systemd[1]: Started NTP client/server.
Aug 04 00:12:35 node chronyd[21134]: Selected source 193.182.111.141
Aug 04 00:12:35 node chronyd[21134]: Source 78.46.102.180 replaced with 94.237.64.20

4.修改配置文件

[root@node ~]# grep server /etc/chrony.conf 
# Use public servers from the pool.ntp.org project.
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server ntp1.aliyun.com iburst

5.重启服务

[root@node ~]# systemctl restart chronyd

6.检查时间同步状态

[root@node ~]# chronyc sources
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* 120.25.115.20                 2   6    71    26   +751us[+1549us] +/-   19ms

五、手动修改时间

1.修改时间方法1

[root@node ~]# date -s "2012-05-23 01:01:01"
Wed May 23 01:01:01 CST 2012
[root@node ~]# date
Wed May 23 01:01:05 CST 2012

2.修改时间方法2

修改时间顺序为月日时分年.秒

[root@tianyi ~]# date 090621282021.28
Mon Sep  6 21:28:28 CST 2021

3.硬件时间向系统时间同步

[root@node ~]# hwclock -w

4.按格式输出时间

[root@node ~]# date "+%Y-%m-%d %H:%M:%S"
2012-05-23 01:04:10

5.设置时区

[root@tianyi backups]# timedatectl list-timezones |grep Shanghai
Asia/Shanghai
[root@tianyi backups]# timedatectl set-timezone Asia/Shanghai

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • linux新文件权限设置之umask的深入理解

    linux新文件权限设置之umask的深入理解

    这篇文章主要给大家介绍了关于linux新文件权限设置之umask的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03
  • protobuf简单介绍和ubuntu 16.04环境下安装教程

    protobuf简单介绍和ubuntu 16.04环境下安装教程

    protobuf是谷歌的开源序列化协议框架,结构类似于XML,JSON这种,显著的特点是二进制的,效率高,主要用于通信协议和数据存储等方面,算是一种结构化数据的表示方法。这篇文章主要介绍了protobuf简单介绍和ubuntu 16.04环境下安装教程,需要的朋友可以参考下
    2019-06-06
  • Linux ps和pstree命令知识点总结

    Linux ps和pstree命令知识点总结

    在本篇文章里小编给大家分享的是关于Linux ps和pstree命令知识点总结内容,需要的朋友们可以学习参考下。
    2020-02-02
  • Linux VPS利用SSH重置ROOT密码的方法

    Linux VPS利用SSH重置ROOT密码的方法

    如果我们的VPS使用的是SolusVM客户端管理面板,我们直接在VPS商的管理后台就可以重置ROOT密码
    2012-09-09
  • Linux CentOS7 添加中文输入法方式

    Linux CentOS7 添加中文输入法方式

    这篇文章主要介绍了Linux CentOS7 添加中文输入法方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • 详解centos7中配置keepalived日志为别的路径

    详解centos7中配置keepalived日志为别的路径

    这篇文章主要介绍了centos7中配置keepalived日志为别的路径,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-10-10
  • ubuntu24.04设置静态IP地址的方法教学

    ubuntu24.04设置静态IP地址的方法教学

    这篇文章主要为大家详细介绍了使用ubuntu24.04设置静态IP地址的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-05-05
  • linux中使用grep命令详解

    linux中使用grep命令详解

    在本篇文章里小编给大家整理了关于linux中使用grep命令的相关知识点内容,需要的朋友们跟着学习下。
    2019-03-03
  • linux在vim中查找和替换方式

    linux在vim中查找和替换方式

    Linux中使用Vim编辑器查找和替换文本的方法非常直观和强大,Vim支持多种查找和替换的命令,包括向前查找、向后查找、查找并替换文本、替换所有匹配项、确认每个替换和在多个文件中进行替换等
    2025-02-02
  • linux确认已经卸载数据盘并可以新建自定义镜像

    linux确认已经卸载数据盘并可以新建自定义镜像

    在本文中我们给大家整理了关于linux中如何确认已经卸载数据盘并可以新建自定义镜像的相关内容和知识点,有需要的朋友们学习下。
    2018-09-09

最新评论