当前位置: 首页 > news >正文

Linux 查看两个主机之间时间是否同步 - clockdiff命令详解

Linux 查看两个主机之间时间是否同步 - clockdiff命令详解

  • 引言
  • 一、clockdiff命令
    • 1.1 例子
    • 1.2 命令详解
  • 二、原理以及部分源码解析
    • 2.1 原理部分
    • 2.2 部分源码解析
  • 三、参考链接

引言

两个服务器 (基于Linux) 之间时间同步的重要性体现在多个方面,对系统的稳定性、安全性、数据一致性以及业务逻辑的正确执行都起着关键作用,比如日志记录和分析:当服务器之间时间不同步时,日志记录的时间戳将不准确,导致日志顺序混乱。这使得在分析问题时,很难准确地还原事件发生的先后顺序,增加了故障排查的难度。在Linux系统下,可以使用clockdiff查看两个主机之间系统时间的差值 – 精度为ms,可依据此差值判断时间是否同步,或继续排查其他问题。

一、clockdiff命令

clockdiff可以测量两个主机之间系统时间的差异1 ,一般Linux系统自带,没有的话需安装2注:需管理员权限3

1.1 例子

# clockdiff [-o] [-o1] destination,需要管理员权限
sudo clockdiff 192.168.1.1
  • 测量本地与192.168.1.1主机之间的系统时间差,以上命令的输出结果如下所示:
    在这里插入图片描述

  • 其中,各项的含义如下表所示:

含义
host192.168.1.1目标主机的ip地址,测量本机与ip地址为192.168.1.1的机器之间的系统时差
rtt750(187)ms/0ms平均往返时延(多次往返时延的标准差)/最小的往返时延
delta1ms/1ms d e l t a = 目标主机系统时间 − 本机系统时间 delta=目标主机系统时间 - 本机系统时间 delta=目标主机系统时间本机系统时间,两种测量方式计算出的系统时间差 (ms)
时间(省略)没啥,就是本地时间

1.2 命令详解

clockdiff [-o] [-o1] destination,通过本机与目标主机写入的时间戳来计算两个系统时间的差值,通过参数可控制使用何种时间戳4 (默认ICMP TIMESTAMP,一般使用默认的足以满足需求)。

  • -o   sudo clockdiff -o 192.168.1.1 使用带有ICMP ECHO的IP TIMESTAMP,适用不支持ICMP时间戳的主机
  • -o1 sudo clockdiff -o1 192.168.1.1使用 three-term IP时间戳(使用预先定义好的中间节点),而不是-o的 four-term IP时间戳

可以使用man clockdiff命令查看自带手册,如下图所示:
在这里插入图片描述

二、原理以及部分源码解析

2.1 原理部分

源码网址如下,想深入了解可直接看其源码,这篇博文讲的很清楚5
https://github.com/iputils/
https://gitee.com/rogerbowu/iputils

2.2 部分源码解析

  • 输出部分有疑惑 (比如下图rtt不应该是750ms),在自己的机子上尝试clockdiff自己sudo clockdiff 127.0.0.1,结果如下所示:
    在这里插入图片描述
  • 看源码输出部分:
    在这里插入图片描述
  • 继续看计算rtt部分以及其初始化,其初始化为1000ms,计算一次过后rtt=(1000*3+0)/4=750ms 由于时延很小直接退出,计算rtt确实有bug,但不影响测量delta.
    在这里插入图片描述

三、参考链接


  1. Linux系统之clockdiff命令详解:https://blog.csdn.net/weixin_56303229/article/details/146570938 ↩︎

  2. Ubuntu18.04系统如何用clockdiff测算目标主机和本地主机之间的系统时间差:https://www.henghost.com/news/article/159229/?jsmc=30d7b72212&jsme=1748797460 ↩︎

  3. 统信os平台普通用户无法调用clockdiff的问题解决方法:https://blog.csdn.net/liuy5277/article/details/136557641 ↩︎

  4. INTERNET CONTROL MESSAGE PROTOCOL:https://dl.acm.org/doi/pdf/10.17487/RFC0792 ↩︎

  5. iputils网络工具时间比对程序clockdiff - 检测两台linux主机的时间差:https://blog.csdn.net/s_lisheng/article/details/80910902 ↩︎

相关文章:

  • CATIA高效工作指南——常规配置篇(四)
  • 【完整源码+数据集+部署教程】甘蔗叶片病害检测系统源码和数据集:改进yolo11-GhostDynamicConv
  • 提取 Word 中图片原始质量
  • 重构技术奇点的路径:三智双融认知大飞跃
  • 45. Jump Game II
  • CentOs7.x系列IP地址由动态改静态(解决远程连接掉线问题)
  • 代码随想录算法训练营day1
  • 3 mnist gan小试牛刀
  • 6.11 打卡
  • 亚马逊商品数据实时获取方案:API 接口开发与安全接入实践
  • Jenkins + Docker + Kubernetes(JKD)在 DevOps CI/CD 中的核心价值与实践要点
  • 鹰盾Win播放器作为专业的视频安全解决方案,除了硬件翻录外还有什么呢?
  • 网络安全中对抗性漂移的多智能体强化学习
  • R语言缓释制剂QBD解决方案之二
  • 微信小程序分享带参数地址
  • 网传西门子12亿美元收购云原生工业软件,云化PLM系统转机在协同
  • UniApp APP打包方法(Android/iOS双平台)
  • iOS 26 beta1 重新禁止 JIT 执行,Flutter 下的 iOS 真机 hot load 暂时无法使用
  • React Native 跨平台开发:iOS 与安卓原生模块高效交互
  • 腾讯开源 ovCompose 跨平台框架:实现一次跨三端(Android/iOS/鸿蒙)
  • 企业网站建设相关书籍在线阅读/怎么在腾讯地图上添加自己的店铺
  • 阿里云 wordpress 邮件/连云港网站seo
  • 武汉网络兼职网站建设/中央刚刚宣布大消息
  • 手机360网站seo优化/游戏推广赚钱
  • 网站建设软件下载/seo推广思路
  • 1元做网站方案/培训教育机构