Linux和Windows的NTP时间同步的完整教程

 更新时间:2026年04月08日 09:12:53   作者:不愿透露姓名的大鹏  
本文详细讲解了Linux系统时间的修改、时区配置、NTP时间同步(包括ntpdate和chrony)、定时同步任务设置,以及常见问题解决方法,内容涵盖基础时间操作、时区调整、NTP工具安装与使用、定时任务配置和常见错误处理等,适合运维新手快速掌握,需要的朋友可以参考下

在Linux服务器运维过程中,系统时间偏差是常见问题,尤其在数据库集群、分片部署等场景中,多台机器时间一致性直接影响业务稳定性。本文将详细讲解Linux系统时间修改、时区配置、NTP时间同步(含ntpdate与chrony)、定时同步任务设置,以及常见问题解决,适合运维新手快速上手。

一、基础时间操作(date与hwclock命令)

Linux系统中,时间分为系统时间(由系统内核维护)和硬件时间(BIOS时钟,关机后由主板电池供电),日常操作需区分两者,避免重启后时间错乱。

查看时间

查看系统时间:

date
示例输出:Wed Jun 7 14:00:00 CST 2018

查看硬件时间(BIOS时间):

hwclock # 等价于 hwclock -r(默认参数-r为查看)
示例输出:Wed 02 Nov 2016 02:53:35 AM CST -0.632895 seconds

修改系统时间

单独修改日期:

date -s 06/07/2018 # 格式:月/日/年

date -s 2017/03/06 # 格式:年/月/日

单独修改时间:

date -s 14:00:00 # 格式:时:分:秒

系统时间与硬件时间同步

修改系统时间后,需将系统时间写入硬件时钟,避免重启后时间恢复原状:

hwclock -w # 等价于 clock -w,将系统时间同步到硬件时间

同步后验证:date 和 hwclock 输出时间应一致

二、时区配置(修改为中国东八区)

默认情况下,Linux系统可能使用UTC时区,需手动修改为中国东八区(Asia/Shanghai),确保时间显示与本地一致。

1. 复制时区文件到系统默认时区配置

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

2. 修改时区配置文件(永久生效)

vi /etc/sysconfig/clock

写入以下内容:

ZONE=“Asia/Shanghai”
UTC=false
ARC=false

配置完成后,执行date命令,确认时间显示为CST(中国标准时间)即可。

三、时间同步工具安装(ntpdate与chrony)

日常时间同步可使用ntpdate(简单快捷),若需更高精度的时间同步,推荐使用chrony(解决ntp精度不足问题,开源免费)。

安装ntpdate

yum install -y ntpdate # CentOS/RHEL系统

若提示命令不存在,可安装ntp完整包:

yum install -y ntp

安装chrony(高精度同步工具)

Chrony是一款开源自由软件,能实时保持系统时钟与NTP服务器同步,精度高于传统ntp,适合对时间精度要求高的场景(如金融、集群部署):

yum install -y chrony # 安装
systemctl start chronyd # 启动服务
systemctl enable chronyd # 设置开机自启

四、手动同步网络时间(ntpdate方式)

使用ntpdate命令可快速同步网络时间,需指定NTP服务器,若某台服务器同步失败,可更换其他服务器尝试。

基础同步命令

ntpdate -u 时间服务器地址

示例:同步美国NIST服务器

ntpdate -u time.nist.gov

同步成功提示:

3 Jun 15:42:39 ntpdate[4721]: adjust time server 211.115.194.21 offset -0.005885 sec

提示说明:系统已调整时间为服务器(211.115.194.21)的时间,时间偏差为-0.005885秒(偏差越小,精度越高)。

关键参数说明

-u:越过防火墙与NTP服务器同步,避免因防火墙限制导致同步失败(若不加此参数,可能出现“no server suitable for synchronization found”错误)。

常用NTP服务器(亲测可用)

  • 中国国家授时中心(推荐):210.72.145.44
  • 上海NTP服务器:ntp.api.bz
  • 美国NIST服务器:time.nist.gov
  • 复旦大学服务器:ntp.fudan.edu.cn
  • 微软授时服务器:time.windows.com
  • 亚洲通用服务器:0.asia.pool.ntp.org、1.asia.pool.ntp.org、2.asia.pool.ntp.org、3.asia.pool.ntp.org
  • 韩国服务器:time.nuri.net

示例:同步中国国家授时中心时间:

ntpdate -u 210.72.145.44

同步后更新硬件时间

网络同步系统时间后,务必执行以下命令,将同步后的时间写入硬件时钟:

hwclock -w

五、定时执行时间同步任务(crontab)

手动同步无法保证长期时间一致,需通过crontab设置定时任务,定期同步时间,推荐每1小时同步一次。

crontab格式说明

格式:分 时 日 月 周 执行命令

示例说明:

0 5 * * * :每天5点0分执行

*/30 * * * * :每30分钟执行

* */1 * * * :每1小时执行

添加定时同步任务

执行crontab -e编辑定时任务,添加以下内容(二选一或同时添加,确保同步稳定):

每1小时同步韩国time.nuri.net服务器,并更新硬件时间

*/1 * * * root ntpdate -u time.nuri.net && hwclock -w

每1小时同步内网NTP服务器(192.168.0.96),并更新硬件时间

*/1 * * * root ntpdate -u 192.168.0.96 && hwclock -w

每天5点10分同步中国国家授时中心服务器,并更新硬件时间

10 5 * * * root /usr/sbin/ntpdate -u 210.72.145.44; hwclock -w

重启crontab服务(使任务生效)

systemctl restart crond # CentOS 7+

/etc/init.d/crond restart # CentOS 6

六、开机自动网络校时(备选方案)

除了crontab定时同步,还可设置开机自动同步时间,适合服务器重启后快速校准时间:

vi /etc/rc.d/rc.local

添加以下内容(内网NTP服务器示例,可替换为其他公共服务器)

/usr/sbin/ntpdate -u 192.168.0.2 192.168.0.3 192.168.0.4; /sbin/hwclock -w

说明:多个服务器用空格分隔,确保其中一台可用即可完成同步。

七、常见问题解决

提示“no server suitable for synchronization found”

原因及解决方法:

  • 未加-u参数,防火墙限制:添加-u参数,如ntpdate -u time.nist.gov。
  • NTP服务器不可用:更换本文提供的其他服务器(优先选择中国国家授时中心210.72.145.44)。
  • 系统时间与服务器时间偏差过大(超过24小时):先手动修改系统时间至接近当前时间,再执行同步命令。

同步成功后,重启服务器时间错乱

原因:未将系统时间写入硬件时钟,解决方法:同步后执行hwclock -w,或在定时任务中添加该命令。

提示“ntpdate: command not found”

原因:未安装ntpdate或ntp包,解决方法:执行yum install -y ntpdate或yum install -y ntp。

八、补充说明

  1. 若需更高精度的时间同步,推荐使用chrony替代ntpdate,配置简单且精度更高,后续可单独出chrony详细配置教程。
  2. 内网环境中,建议搭建一台本地NTP服务器,所有内网机器同步该服务器时间,避免外网依赖。

以上就是Linux NTP时间同步的完整操作流程,涵盖基础操作、时区配置、手动同步、定时同步及常见问题,适合新手直接上手操作。

Windows同步如下:

gpedit.msc

调整NTP时间同步频率

Linux可以通过crontab控制频率

Windows server通过修改注册表同步

以上就是Linux和Windows的NTP时间同步的完整教程的详细内容,更多关于Linux Windows的NTP时间同步的资料请关注脚本之家其它相关文章!

相关文章

  • ubuntu端向日葵键盘输入卡顿问题及解决

    ubuntu端向日葵键盘输入卡顿问题及解决

    这篇文章主要介绍了ubuntu端向日葵键盘输入卡顿问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • Centos7下nginx的安装与配置教程详解

    Centos7下nginx的安装与配置教程详解

    这篇文章主要介绍了Centos7下nginx的安装与配置教程详解,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • 如何解决linux上传图片后无权限访问

    如何解决linux上传图片后无权限访问

    文章介绍了两种解决Linux上传图片后无权限访问的问题的方法,方案一是在不改变服务器配置的情况下,通过授权解决权限问题,方案二是修改Nginx配置文件,将第一行改为“root”,然后重启Nginx服务
    2025-02-02
  • 把windows下的字体安装到Linux系统下的方法介绍

    把windows下的字体安装到Linux系统下的方法介绍

    Linux(Fedora/Ubuntu/CentOS)的字体实在不尽如人意,而且在网页及文档显示时很多字无法显示出来,特别多的空白和乱码,其实,我们可以把windows下的字体和自己心仪的字体添加到Linux中,本文将介绍如何在Linux下添加字体
    2018-03-03
  • deepin20 安装英伟达闭源驱动的步骤详解

    deepin20 安装英伟达闭源驱动的步骤详解

    这篇文章主要介绍了deepin20 安装英伟达闭源驱动的步骤,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • apache启用gzip压缩的实现方法

    apache启用gzip压缩的实现方法

    对于部署在Linux服务器上的PHP程序,在服务器支持的情况下,我们建议你开启使用Gzip Web压缩,以前脚本之家介绍了iis中的开启方法,这篇文章主要介绍了linux中apache的开启方法
    2013-06-06
  • Apache Prefork、Worker和Event三种MPM详解

    Apache Prefork、Worker和Event三种MPM详解

    这篇文章主要介绍了Apache Prefork、Worker和Event三种MPM详解,着重介绍了配置参数部分,需要的朋友可以参考下
    2014-06-06
  • Linux在命令行环境中实现进度条的原理解析

    Linux在命令行环境中实现进度条的原理解析

    在Linux命令行环境中,进度条是一种直观展示任务执行进度的重要方式,本文将通过一个简单的C语言进度条程序,深入解析其实现原理和优化过程,希望对大家有所帮助
    2025-10-10
  • LAMP环境安装所需的一些软件包下载地址整理

    LAMP环境安装所需的一些软件包下载地址整理

    LAMP环境安装所需的一些软件包下载地址整理,方便配置服务器的朋友,windows服务器配置的朋友可以去脚本之家服务器软件频道。
    2010-06-06
  • linux 磁盘转移空间的方法

    linux 磁盘转移空间的方法

    本篇文章主要介绍了linux 磁盘转移空间的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12

最新评论