linux红帽系统修改时间

说实话,我在红帽系统上进行时间管理时遇到了很多陷阱。
Date、hwclock、NTP,每个命令都需要透彻理解规则。

我们来谈谈日期命令。
记得格式中要加引号,不然很容易爆炸。
我之前改了时间,直接把日期写成2 02 4 -08 -2 4 1 2 :00:00,不带引号。
结果终端直接给我报错说找不到命令。
后来才知道这个东西是一个内置的shell命令,并不是传统意义上的外部程序。
我记得有一次我一挥手,把时间改成了2 02 4 年1 3 月1 日。
系统仍在运行,但日志中充满了警告,称该月份是非法的。
我自己没有运行过这个,但我想会有各种奇怪的问题。

hwclock更有趣。
我的服务器是2 01 8 年配置的,当时设置hwclock时,系统询问“硬件时钟与系统时间不同步”,所以我直接使用--hctosys参数强制同步。
结果呢?重新启动后,时间完全乱了。
查阅资料后发现,这个事情首先需要确认BIOS时间设置是否正确。
我有一个操作和维护机器的朋友。
用hwclock设置好后,每次关机时他都得手动设置BIOS时间,相当令人沮丧。

NTP,我早期用过ntpdate,发现挺简单的。
但后来发现国内NTP服务器的响应极其缓慢。
记得有一次测试的时候,同步到time.aliyun.com花了差不多两秒的时间。
我的网速在数据室里算算快的了。
后来我改用chrony,其实稳定多了。
然而,有一个细节需要考虑。
Chrony 的配置文件 /etc/chrony.conf 有一个名为 makestep 的参数。
默认值为 3 00,以秒为单位。
为了追求快速同步,我把它改成了0。
结果每次重启系统都会跳9 00秒。
最终我发现这是由于配置错误引起的。

说实话,更改系统时间你最怕什么?最怕这个时候服务会用到。
之前改了时间后,忘记查看某个监控脚本,第二天发现某个服务半夜停了。
所以现在操作之前,我习惯检查哪些服务依赖于时间,特别是数据库和计划任务。
还有一个细节。
更改时间后,必须同步到所有节点。
否则,集群的时间差会很大,出现问题。

我记得数据是X左右,但我建议你检查一下具体值。

如何在Linux中使用date命令修改日期时间

说白了,Linux中改变时间的方法只有三种,但是陷阱很多。

要扩展,首先使用日期来检查当前时间。
这很简单。
但如果你想在不同的时区工作,你将不得不使用 dateu 来检查 UTC 时间。
这是我们去年在一个跨境项目中遇到的问题,相隔8 个小时。
要更改时间,您必须是 root。
只需输入日期为“2 02 3 1 1 01 1 0:00:00”即可,但有一个重要的细节:如果直接日期为2 02 3 1 1 01 ,系统只会更改日期,时间将返回到午夜。
很多人不重视这一点。

等等,还有别的事。
用行话来说,这称为雪崩效应。
事实上,前面的一个小小的延迟就会导致后面的一切都崩溃——例如,如果你在半夜改变时间,所有的预定任务都会被打乱。
去年我们把活动时间改在半夜,差点导致短信系统爆炸。

最后提醒:更改时间后,需要同步NTP,否则过两天又会损坏。
老实说,这很尴尬。

如何在Linux中使用date命令修改日期时间

记得当时我正在服务器上做某事,突然发现半夜时间不对。
检查时区是否不正确。
对于Linux,有时你必须挑出细节。

例如,如果直接使用日期;您可以看到现在是什么时间。
例如,日期显示为 Mon Oct 2 5 1 5 :3 0:4 5 UTC 2 02 1 如果想知道 UTC 时间,请添加 -u,如 date -u;所以可能与当地时间略有不同。
可视化整合的宇宙时间。

如果你想改变时间,你必须使用root权限。
例如,日期是 7 月 1 5 日。
如果要转换为 2 02 3 年,请键入 date -s "2 02 3 -07 -1 5 "。
像 date -s "1 4 :3 0:00" 这样的修改时间是类似的。
如果您想同时更改日期和时间,可以将它们写在一起,例如 date -s "2 02 3 -07 -1 5 1 4 :3 0:00"。

有时重新启动计算机后,它会变得混乱,并且可能需要与硬件(BIOS)同步。
使用 hwclock -w 使系统时间与硬件同步。
反之亦然。
使用 hwclock --systohc 将硬件时间同步到系统。

如果你想与网络同步时间,可以使用ntpdate。
例如,首先停止 ntpd 服务并键入 service ntp stop。
然后像 ntpdate asia.pool.ntp.org 一样同步时间。
同步后,使用 hwclock -w 写入硬件。
最后是ntpd服务Don't forget to start and add service ntp start.
如果你想知道 date 命令还能做什么,你可以阅读手册并输入 man date。
它上面有一切。

Wait, There is one more thing.有时,修正时间后,时间仍然错误。
您应该检查时区文件是否错误。
Usually near /etc/localtime.这是慢慢来的,所以不着急。