我有一堆流变服务器,我必须确保所有这些都在时间上同步。他们都在办定期服务。
我的问题是,是否有任何实用程序可以通过命令检查这一点?有人知道如何使用ansible模块来做到这一点吗?我什么都没找到。
我想要的只是检查所有服务器是否都以严格和高效的方式运行在同一时间。也许类似于ntpdate的东西适合我。
提前感谢!
发布于 2019-12-09 21:25:42
同步
您可以使用特定于时间的命令来检查ntp状态。如果要查看当前ntp服务器的信息,请使用
chronyc tracking显示所有ntp服务器
chronyc sources有关更多信息,请参见:软膜-检查时间是否同步
的结合
这里没有ansible模块,但是还有另外一种方法。
您仍然应该拥有ntpstat实用程序,它也适用于chrony。返回代码提供有关ntp状态的信息。0表示时钟同步,1表示不同步,2如果时钟状态是不确定的。请参阅命令页
你可以证实
ntpstat
echo $?如果使用ansible命令模块运行ntpstat,如果命令的返回代码不是0,则默认情况下将失败。因此,在这种情况下,我们可以利用这个优势。制作一个简单的剧本,运行ntpstat命令。
- name: Check if chrony is synchronized
command: ntpstat运行所需主机组的剧本。所有失败的主机都没有同步的ntp。
为了更进一步,您可以将全局时间配置(chrony.conf)复制到所有主机,并在返回代码不是0的情况下,用ansible重新启动the服务。
- 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我希望这能帮到你。
干杯
https://unix.stackexchange.com/questions/554509
复制相似问题