首页 > 其他分享 >go检查所有主机的时间同步

go检查所有主机的时间同步

时间:2023-05-23 21:46:46浏览次数:29  
标签:同步 return err 主机 fmt Errorf ip go timeStamp

func checkTimeSync(s ssh.Interface, ipList []string) error {
logger.Info("checker:timeSync %v", ipList)
for _, ip := range ipList {
timeStamp, err := s.CmdToString(ip, "date +%s", "")
if err != nil {
return fmt.Errorf("failed to get %s timestamp, %v", ip, err)
}
ts, err := strconv.Atoi(timeStamp)
if err != nil {
return fmt.Errorf("failed to reverse timestamp %s, %v", timeStamp, err)
}
timeDiff := time.Since(time.Unix(int64(ts), 0)).Minutes()
if timeDiff < -1 || timeDiff > 1 {
return fmt.Errorf("the time of %s node is not synchronized", ip)
}
}
return nil
}

标签:同步,return,err,主机,fmt,Errorf,ip,go,timeStamp
From: https://www.cnblogs.com/cheyunhua/p/17426475.html

相关文章

  • go检测状态 template
    typesystemStatusstruct{NamestringStatusstring}typeInitSystemStatusstruct{ErrorstringServiceList[]systemStatus}func(n*InitSystemChecker)Output(status*InitSystemStatus)error{tpl,isOk,err:=template.TryParse(`System......
  • Flask与Django项目运行
    Django要运行Django项目,你可以按照以下步骤进行操作:1.确保你已经安装了Python和Django。如果你还没有安装它们,请先安装它们。2.打开终端或命令提示符。3.导航到你的Django项目的根目录。这是包含manage.py文件的目录。4.运行以下命令以应用数据库迁移:pythonmanage.pymigra......
  • Golang - 获取指定区间范围内随机数
    1.go语言未提供获取指定区间范围内的随机数方法,只有一个参数获取(0,n)的随机数。2.可根据此方法获取指定区间随机数,先随机0到(m-n),再用加 n的方式解决例:[5,10],先生成[0,5],再加5packagemainimport("fmt""math/rand""time")funcmain(){//......
  • 解决nginx+django+swagger打开swagger需要进行Django Login
    一、将drf-yasg包的static目录拷贝到Django项目根目录下二、修改nginx配置,添加如下红框中的内容三、重启nginxsystemctlrestartnginx这样再次打开http://XXX:XX/swagger/即可直接打开swagger接口文档 ......
  • MongoDB入门
    一、业务应用场景三高需求:高并发读写需求海量数据的高效率存储和访问的需求对数据库的高扩展性和高可用性的需求应用场景:社交场景,使用MongoDB存储用户信息,以及用户发表的朋友圈信息,通过地理位置索引实现附近的人,地点等功能游戏场景:方便查询、高效率存储和访问物流场景:......
  • flask_SQLAlchemy 出现了 Lost connection to MySQL server during query Mysql主机连
    使用pythonflask框架 flask_sqlalchemy时出现了LostconnectiontoMySQLserverduringqueryMysql主机连接超时的问题由于Mysql会定时处理长时间未连接使用的连接池具体时长可通过查看showvariableslike'%timeout%' wait_timeout为超时时长,这里的时间时120秒......
  • mysql、redis、mongo本地docker部署命令备忘
    1mysqldocker环境部署####获取镜像dockerpullredis####启动mysqldockerrun--name=mysql-it-p3306:3306-eMYSQL_ROOT_PASSWORD=123456-dmysql####登录mysql-h127.0.0.1-P3306-uroot-p1234562redisdocker环境部署####官⽅方指引https://hub.docker.c......
  • 修改终端显示主机名
    1修改终端显示主机名打开~/.bashrc可以看到命令提示的内容为:\u@\h\w\$\u表示用户名,\h表示主机名,\w表示当前目录,\$表示命令提示符(普通用户![,超级用户#)这个命令提示符有点长,很碍事,\u@\h是可以删除的,只显示\w]......
  • 容器时间同步配置
    1容器镜像制作时配置####1ubuntu系统RUNecho"Asia/shanghai">/etc/timezone;####2centos系统RUNcp/usr/share/zoneinfo/Asia/Shanghai/etc/localtime2容器启动后配置####1ubuntu系统dockerexec[容器id]echo"Asia/shanghai">/etc/timezone;####2......
  • WPF实现两个DataGrid列表的滚动条同步
    实现目标:左右两个DataGrid对比显示,希望拖动一个列表的滚动条,就把别一个列表的滚动条移动到相应位置。 主要思路是:通过FindVisualChildren找到两个DataGrid的ScrollViewer控件,然后注册两个控件的ScrollChanged事件,只要有一个ScrollViewer的VerticalOffset值变了,就相应地修改另......