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

离线环境通过脚本实现服务器时钟同步(假同步)

1、背景

最近遇到一个时钟同步问题,是内网多台服务器之间时钟不同步,然后部署在不同服务器间的应用展示得时间戳不能统一,所以用户让做一下内网服务器间得时钟同步。

内网服务器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

http://www.lryc.cn/news/227663.html

相关文章:

  • 2023年9月青少年软件编程(C语言)等级考试试卷(一级)
  • 基于若依的ruoyi-nbcio流程管理系统仿钉钉流程json转bpmn的flowable的xml格式(支持并行网关)
  • 软件测试面试-银行篇
  • 基于Amazon EC2和Amazon Systems Manager Session Manager的堡垒机设计和自动化实现
  • 虚幻5.3打包Windows失败
  • 总结:利用JDK原生命令,制作可执行jar包与依赖jar包
  • 【C++】this指针讲解超详细!!!
  • 系统讲解java中list.stream()的用法
  • 字节面试:请说一下DDD的流程,用电商系统为场景
  • 第26章_事务概述与隔离级别
  • 合肥工业大学网络安全实验IP-Table
  • Docker本地镜像发布到阿里云或私有库
  • 使用openvc进行人脸检测:Haar级联分类器
  • Netty心跳检测
  • 【leaflet】1. 初见
  • 数据结构与算法(Java版) | 详解十大经典排序算法之一:冒泡排序
  • 轻量封装WebGPU渲染系统示例<24>- Rendering Pass Graph基本用法(源码)
  • 开设自己的网站系类01购买服务器
  • FTP、NFS、SAMBA系统服务一
  • transfomer模型——简介,代码实现,重要模块解读,源码,官方
  • 队列(Queue):先进先出(FIFO)的数据结构
  • 吃透 Spring 系列—AOP部分
  • redis 问题解决 2
  • Spring Boot 校验用户上传的图片文件
  • 【springboot配置项动态刷新】与【yaml文件转换为java对象】
  • JS移动端触屏事件
  • C语言——打印1000年到2000年之间的闰年
  • 【Linux】【驱动】设备树下的paltform总线
  • 洛谷 NOIP 2023 模拟赛-汪了个汪-题解
  • 洛谷 NOIP 2023 模拟赛 P9836 种树