Linux和Windows的NTP时间同步完整教程(含时区修改、定时同步、常见问题)

张开发
2026/4/3 10:31:05 15 分钟阅读
Linux和Windows的NTP时间同步完整教程(含时区修改、定时同步、常见问题)
Linux 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/localtime2. 修改时区配置文件永久生效vi /etc/sysconfig/clock写入以下内容ZONE“Asia/Shanghai”UTCfalseARCfalse配置完成后执行date命令确认时间显示为CST中国标准时间即可。三、时间同步工具安装ntpdate与chrony日常时间同步可使用ntpdate简单快捷若需更高精度的时间同步推荐使用chrony解决ntp精度不足问题开源免费。安装ntpdateyum 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。八、补充说明若需更高精度的时间同步推荐使用chrony替代ntpdate配置简单且精度更高后续可单独出chrony详细配置教程。内网环境中建议搭建一台本地NTP服务器所有内网机器同步该服务器时间避免外网依赖。相关参考教程NTP配置总结https://blog.csdn.net/gycool21/article/details/51746174CentOS 6.3 下实现NTP时间服务器http://www.linuxidc.com/Linux/2014-08/105414.htm以上就是Linux NTP时间同步的完整操作流程涵盖基础操作、时区配置、手动同步、定时同步及常见问题适合新手直接上手操作。Windows同步如下gpedit.msc调整NTP时间同步频率Linux可以通过crontab控制频率Windows server通过修改注册表同步如果有疑问欢迎在评论区留言交流

更多文章