首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >时间同步

时间同步
EN

Unix & Linux用户
提问于 2019-11-27 21:08:15
回答 1查看 1.4K关注 0票数 0

我有一堆流变服务器,我必须确保所有这些都在时间上同步。他们都在办定期服务。

我的问题是,是否有任何实用程序可以通过命令检查这一点?有人知道如何使用ansible模块来做到这一点吗?我什么都没找到。

我想要的只是检查所有服务器是否都以严格和高效的方式运行在同一时间。也许类似于ntpdate的东西适合我。

提前感谢!

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2019-12-09 21:25:42

检查时间是否与命令

同步

您可以使用特定于时间的命令来检查ntp状态。如果要查看当前ntp服务器的信息,请使用

代码语言:javascript
复制
chronyc tracking

显示所有ntp服务器

代码语言:javascript
复制
chronyc sources

有关更多信息,请参见:软膜-检查时间是否同步

与无源

的结合

这里没有ansible模块,但是还有另外一种方法。

您仍然应该拥有ntpstat实用程序,它也适用于chrony。返回代码提供有关ntp状态的信息。0表示时钟同步,1表示不同步,2如果时钟状态是不确定的。请参阅命令页

你可以证实

代码语言:javascript
复制
ntpstat
echo $?

如果使用ansible命令模块运行ntpstat,如果命令的返回代码不是0,则默认情况下将失败。因此,在这种情况下,我们可以利用这个优势。制作一个简单的剧本,运行ntpstat命令。

代码语言:javascript
复制
- name: Check if chrony is synchronized
  command: ntpstat

运行所需主机组的剧本。所有失败的主机都没有同步的ntp。

为了更进一步,您可以将全局时间配置(chrony.conf)复制到所有主机,并在返回代码不是0的情况下,用ansible重新启动the服务。

代码语言:javascript
复制
- name: Check if chrony is synchronized
  command: ntpstat
  register: ntpstat_rc
  ignore_errors: true

- name: Copy chrony configuration
  copy:
   src: <global chrony.conf on your ansible server>
   dest: /etc/chrony.conf
   backup: yes
  when: ntpstat_rc.rc != 0

- name: Restart chrony service
  systemd:
   name: chronyd
   state: restarted
  when: ntpstat_rc.rc != 0

我希望这能帮到你。

干杯

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/554509

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档