感谢您花时间研究我的问题,我们有 VM 服务器 (cent os),我们正在根据业务需求在其上设置静态日期,我们需要保持相同的日期,因此我们有计划 cron 来设置日期到 2017 年 6 月 23 日午夜 12 点,但从工作时间的几天下午 3 点左右开始,日期会自动更改为当前日期,最终导致应用程序在此期间中断。
我们尝试过的可能解决方案: 1. 卸载 ntp 以避免设置任何日期。 2. vmware 同步被禁用。 3. date set cron job 暂时禁用。 4. 重新启动服务器以解决此问题,但发现结果如下。
[root@xxxx-t01 ~]# hwclock -u 2017 年 6 月 23 日星期五 04:42:05 PM PDT -0.547072 秒 [root@xxxx-t01 ~]# date -u 2018 年 4 月 4 日星期三 23:42:44 UTC [root@xxx-t01 ~]#
重启后系统日期和硬件日期不同。我们通过时区设置解决了这个问题。
我们尝试使用其他解决方案来捕获 var/logs/messages 等事件,但我们无法捕获任何事件,这可能是可疑的。
寻找有值(value)的输入来检查日期究竟是如何变化的,有没有什么方法可以捕获任何外部源正在尝试在服务器上执行某些操作,因此日期正在更改为当前日期。
感谢您的帮助。
干杯, 桑托斯
最佳答案
希望我没猜错。 Imo 以下解决方案应该 工作得很好!
尝试以下操作:
# disable - ntp
timedatectl set-ntp 0
# disable chronyd (the "ntp-service")
systemctl stop chronyd
systemctl disable chronyd
# or
systemctl mask chronyd
# set your system time
date -s [your time]
# set your hardware time based on system time
hwclock -w
您还可以使用一些 hwclock-debug 选项 的使用。
作为“防御”的最后一行(反对时钟更新)你 可以通过 firewall-cmd/iptables 阻止 ntp 端口。
关于linux - Unix 系统静态日期自动获取更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49681494/