一个网站项目开发流程,东昌网站建设公司,海报在线设计平台,阿里云官方网1、背景
最近遇到一个时钟同步问题#xff0c;是内网多台服务器之间时钟不同步#xff0c;然后部署在不同服务器间的应用展示得时间戳不能统一#xff0c;所以用户让做一下内网服务器间得时钟同步。
内网服务器x86和arm都有#xff0c;而且有得系统是centos有得是ubuntu是内网多台服务器之间时钟不同步然后部署在不同服务器间的应用展示得时间戳不能统一所以用户让做一下内网服务器间得时钟同步。
内网服务器x86和arm都有而且有得系统是centos有得是ubuntu一开始是想用ntp、chrony这类得时钟同步工具但是安装时才发现底层缺少各种依赖库。依赖库问题解决太痛苦了所以就放弃了ntp、chrony这类需要安装得时钟同步工具准备自己写一个时钟同步脚本。
2、思路
通过date命令可以设置服务器得时钟时间只要所有机器定时从一台主服务获取时间并同步到自己服务器就可以做到假时钟同步得效果这里之所以叫假时钟同步是因为date命令只能设置到秒级别。
3、实现前得准备免密登录
因为要远程登录获取主服务器得时钟时间所以要在从服务器生成密钥并发送到主服务。
生成密钥ssh-keygen
分发密钥ssh-copy-id node1 在客户端生成都推送一份到要免密登录的服务器
4、编辑脚本
#!/bin/bash
echo $(date) /opt/timer/test
date -s $(ssh node1 date %Y-%m-%d %H:%M:%S)
5、设置定时同步任务
执行如下命令进入编辑页面 crontab -e
在编辑页面添加如下定时任务注意time_update.sh是上一步编辑得脚本路径根据自己情况修改 * * * * * /opt/timer/time_update.sh