如果不使用时钟同步工具,linux如何解决时钟同步问题?仅需要一行命令即可。

news2025/8/1 15:04:54

这是一篇日记,记录了上帝下凡出手,解救苍生与水火之中的神奇文章,如果你也有过类似的经历,留言关注,咱们交流一下~

目录

背景(如果不想知道可以跳过)

一行神奇的命令

一段一段的研究

总结


 

背景(如果不想知道可以跳过)

由于业务需求,领导让我研究ScheduleX,搞一个叫做业务编排这么一个功能,了解过的可能都知道,ScheduleX是需要花钱的,没有钱研究毛线啊,为了能够节省下那一天的饭钱,于是我找到了一个非常不错的开源框架——PowerJob,当我按照教程一步一步搭建成功之后,我发现!我们的linux服务器的日期,居然是2012年!开什么国际玩笑,不联网的吗?我发现可以联网啊,那是哪根筋出了问题?NTP不能用!为什么?!因为我们单位的垃圾网络需要代理,而NTP没有配置代理的地方,所以就不能用了,我尼玛好不容易要节省的饭钱就这么要没了吗?我不甘心啊。

一行神奇的命令

sudo date -s "$(wget -S "https://www.baidu.com/" 2>&1| 
    grep -E '^[[:space:]]*[dD]ate:' | 
    sed 's/^[[:space:]]*[dD]ate:[[:space:]]*//' | 
    head -1l | 
    sed 's/,//'
)"

就是上面这么一行神奇的命令,这是我在网上找到的一条命令,也没有解释,没有背景,就扔给我这么一条命令,想是上帝可怜我,托了一个无名好人帮我一下。当时我是不信,这么复杂而又简单的命令会好用,结果我直接运行,时间的日期居然对上了!!!!!但是美中不足的是时间不对啊,为了那一天的饭钱,我必须要研究明白这一行命令是什么意思!

一段一段的研究

 date -s 这个命令很简单,就是设置日期的,比如date -s “2023-02-23 10:02:02”

那上面那一条命令后面双引号里面的命令,运行完肯定会得到一个日期格式的字符串,那就研究一下吧,于是我就挨个复制运行。

wget -S "https://www.baidu.com/" 2>&1 这个命令就是用来显式服务器端的头信息(2>&1是标准错误拷贝了标准输出的行为,最终结果就是标准输出和错误都被重定向到相同的路径了 ),运行这个命令的时候,出错了!

错误: 无法验证 www.baidu.com 的由 “” 颁发的证书: 无法本地校验颁发者的权限。 要以不安全的方式连接至 www.baidu.com,使用“--no-check-certificate”

按照上面的错误提示,我将这条命令改成了wget -S "https://www.baidu.com/" 2>&1 --no-check-certificate,运行正确,所以我就直接将原命令改了一下,加上了--no-check-certificate,变成了如下的完美命令:

sudo date -s "$(wget -S "https://www.baidu.com/" 2>&1 --no-check-certificate| 
    grep -E '^[[:space:]]*[dD]ate:' | 
    sed 's/^[[:space:]]*[dD]ate:[[:space:]]*//' | 
    head -1l | 
    sed 's/,//'
)"

直接成功,日期直接同步成功,我认为后面的就是正则表达式,将服务器端的头信息里面关于日期的信息提取出来,设置成本机信息。

grep命令,是一个强大的文本搜索工具,能使用特定模式匹配(包括正则表达式)搜索文本,并默认输出匹配行(摘自百度百科)-E就是将其变成正则表达式选项,后面这一句就是匹配文本中以“date:”开头或者“Date:”开头的头信息,^[[:space:]]*表示匹配任意多的空格,我查了一下,目前的百度头信息里面是Date:开头。

sed 是一种新型的,非交互式的编辑器。它能执行与编辑器 vi 和 ex 相同的编辑任务。sed ‘s’就是取代的意思,比如sed ‘s/hello/nihao/g’就是将文本里面所有的hello换成你好的意思。那sed 's/^[[:space:]]*[dD]ate:[[:space:]]*//'就是将除了date这一行的其余内容全部都用‘’空字符代替,sed 's/,//'就是将","去掉。

head -1,是只要第一行。

总结

文章虽短,但是解决问题的时间是漫长的,在NTP配置代理的问题上,耗了我整整一天半的时间,然后就是死马当活马医,破罐子破摔的各种偏方方法,全都不奏效,这个命令的出现犹如神兵天降,不仅解决了我那一天的饭钱,还让我领略到了linux命令的灵活。

最后欢迎各路大神,新手,老手,文艺,2B,普通程序员关注交流,希望你会成为下一个拯救我于水火之中的上帝使者。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/367775.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

实现“第 24”种设计模式

传统方案 if-else 在我们编程时出现的频率,无需我多赘述。当逻辑复杂时,我们会写出很多 if-else 语句,于是网络上充斥着大量的相关文章,教我们如何去除if-else,大多大同小异。 归结下来,无非是策略模式、…

凌恩生物资讯|抗性宏基因组又一力作|抗性基因+可移动元件研究新成果!

凌恩生物合作客户:合肥工业大学崔康平老师团队利用凌恩生物宏基因组抗性基因研究解决方案,对污水处理厂活性污泥中的钆(Gd(III))和抗生素磺胺甲噁唑(SMX)的联合污染情况进行了调查&a…

华为OD机试题,用 Java 解【滑动窗口最大和】问题

最近更新的博客 华为OD机试 - 猴子爬山 | 机试题算法思路 【2023】华为OD机试 - 分糖果(Java) | 机试题算法思路 【2023】华为OD机试 - 非严格递增连续数字序列 | 机试题算法思路 【2023】华为OD机试 - 消消乐游戏(Java) | 机试题算法思路 【2023】华为OD机试 - 组成最大数…

前端无障碍适配

无障碍简介: 帮助一些视障群体使用手机,点击的热区会增加配合文字识别增加一些语音播报的功能,手机一般可以通过:设置—》辅助功能—》无障碍功能菜单 体验无障碍功能 IOS:设置–》辅助功能----》旁白 需求背景 会有…

Allegro如何显示层叠Options和Find操作界面

Allegro如何显示层叠Options和Find操作界面 Allegro常规有三大操作界面,层叠,Options和Find,如下图 软件第一次启动的时候,三大界面是关闭的,下面介绍如何把它们打开,具体操作步骤如下 点击菜单上的View点击Windows

JavaScript 进阶(面试必备)--charater4

文章目录前言一、深浅拷贝:one: 浅拷贝:two:深拷贝二、异常处理:one: throw 抛异常:two: try /catch 捕获异常:three:debugger三、处理thisthis指向 :one:普通函数this指向this指向 :two: 箭头函数this指向3.2 改变this:one: call():two: apply():three: bind()四、性能优化:on…

优化算法(寻优问题)

前言 群智能算法(全局最优):模拟退火算法(Simulated annealing,SA),遗传算法(Genetic Algorithm, GA),粒子群算法(Particle Swarm Optimization&…

前端:你不知道的async await

1.先抛出一个场景:你是否在日常开发中经常使用类似代码?async function getXXList () {const result await this.getArrListApi({page:1,id:2})this.arr result.data.listconsole.log(结果是…, this.arr)……………………其他逻辑代码 }1.1 问题那你是…

OM | 顶刊论文解读:一种求解最大边权团问题的精确算法

解读人:曲晨辉,陈盈鑫,孙楚天,杨李平,张云天 编者按 本次解读的文章是于2020年发表在INFORMS Journal on Computing的“A Lagrangian Bound on the Clique Number and an Exact Algorithm for the Maximum Edge Weigh…

双指针、字符串、哈希表、链表、数组总结

目录总结1、交换元素swap2、链表设置哑结点3、while(cur -> next ! nullptr)代表运行到倒数第二个元素,也就是cur此时为倒数第一个元素4、在cur初始指向哑结点时,下面执行cur指向index的前一个节点5、关于链表,什么移动删除元素等&#xf…

关于用windows开发遇到的各种乌龙事件之node版本管理---nvm install node之后 npm 找不到的问题

友情提醒,开发最好用nvm控制node版本 nrm 控制镜像源,能少掉很多头发开发过程中技术迭代更新的时候最要老命的就是 历史项目的node版本没有记录,导致开启旧项目的时候就会报错。尤其是npm 升级到8.x.x以后,各种版本不兼容。 真…

如何5分钟跑起来一个完整项目?

今天熊哥和大家聊聊,我怎么在5分钟之内生成一个完整的项目。 效果 看看这个面板,这居然是我花了5分钟成功跑起来的项目。 竟然具备超过三十项功能。还可以直接在页面上生成代码。 它是什么?它是 go-gin-api 它支持哪些功能? 可…

【OpenAI】基于 Gym-CarRacing 的自动驾驶练习项目 | 路径训练功能的实现 | GYM-Box2D CarRacing

限时开放,猛戳订阅! 👉 《一起玩蛇》🐍 💭 写在前面: 本篇是关于多伦多大学自动驾驶专业项目的博客。GYM-Box2D CarRacing 是一种在 OpenAI Gym 平台上开发和比较强化学习算法的模拟环境。它是流行的 Box2…

RocketMQ实现延迟队列精确到秒级实现

前言篇:为了节约成本,决定通过自研来改造rocketmq,添加任意时间延迟的延时队列,开源版本的rocketmq只有支持18个等级的延迟时间,其实对于大部分的功能是够用了的,但是以前的项目,全部都是使用了…

剑指 Offer 12. 矩阵中的路径

⭐简单说两句⭐ CSDN个人主页:后端小知识 🔎GZH:后端小知识 🎉欢迎关注🔎点赞👍收藏⭐️留言📝 Hello吖,各位小伙伴大家好呀,今天我采用了一种特别的方式😎来…

《关于我找了好久的bug,却没找出来的,又不小心解决了的事》

个人简介 作者简介:大家好!我是yukki。个人主页:yukki. 喜欢:🌈点赞🌈收藏🌈一键三连!共勉问题: 这是一个SpringBoot问题 刚开始很正常可以启动,但是加了r…

键盘布局持久化技术

**01 **键盘布局简介 键盘布局是按键在键盘上的分布模式,决定了键位顺序。键盘布局在发展过程中,由于使用习惯的不同,各国间使用的键盘布局存在细微差别,因此在Windows系统上以国家为单位区分不同的键盘布局方案。我们最熟悉的布…

后端接收格式为x-www-form-urlencoded的数据

1.x-www-form-urlencoded是什么? x-www-form-urlencoded纸面翻译即所谓url格式的编码,是post的默认Content-Type,其实就是一种编码格式,类似json也是一种编码传输格式。form表单中使用 form的enctype属性为编码方式&#xff0…

【MySQL】5.7版本解压安装配置

前言 之所以使用解压版本,而不使用exe安装,因为exe的安装方式删除过于麻烦!!! 如果安装MySQL过程中,出错了或者想重新在来一把,删除mysql服务即可 sc delete mysql # 删除已经安装好的Mysql&a…

ifconfig不显示ipv4地址,ifconfig eth0 192.168.5.9失败

ifconfig eth0 192.168.5.9设置ip地址后,通过ifconfig仍然没有ipv4地址: 一、 执行ifup eth0启动eth0: ifconfig、ifup、ifdown :这三个命令的用途都是启动网络接口,不过,ifup 与 ifdown 仅就 /etc/sysconfig/network-…