Linux 找出日期是何时更改的

Linux 找出日期是何时更改的,linux,datetime,Linux,Datetime,在Linux系统上,有没有办法确定上次更改系统日期的时间 我正在运行一个对日期更改敏感的进程,我需要检测用户在进程运行时更改日期的情况。Linux内核是否记录了这些信息,或者是否可以通过任何其他方式检测到这些信息?除了使用修补过的内核之外,我无法找到解决方案,我希望避免使用修补过的内核 由于在我的特殊情况下,所有日期更改都是通过date命令进行的,因此我最终实现了一个解决方案,该解决方案足以满足我的特殊需要,即在路径的早期放置一个日期shell脚本,该脚本基本上设置了日期更改标志,然后调用实际的

在Linux系统上,有没有办法确定上次更改系统日期的时间


我正在运行一个对日期更改敏感的进程,我需要检测用户在进程运行时更改日期的情况。Linux内核是否记录了这些信息,或者是否可以通过任何其他方式检测到这些信息?

除了使用修补过的内核之外,我无法找到解决方案,我希望避免使用修补过的内核

由于在我的特殊情况下,所有日期更改都是通过date命令进行的,因此我最终实现了一个解决方案,该解决方案足以满足我的特殊需要,即在路径的早期放置一个日期shell脚本,该脚本基本上设置了日期更改标志,然后调用实际的日期二进制:


然而,我对此并不满意,如果有人能想出更好的解决方案,我会非常感兴趣。

hmm…,检测明智一些x=$date+%s;睡眠1;y=$date+%s;y-x-1>公差和回音利润;在真正的循环中运行一段时间就可以了?也许吧,尽管我事先不知道这个过程需要多长时间才能完成。如果有某种正常运行时间报告从上次日期更改(实际上是从上次settimeofday调用)以来经过的时间,那就太好了……查看/var/log和子目录中的所有系统日志。你要寻找的是时间戳的显著飞跃。这将需要大量手动操作,并且不会给您日期更改的确切时间,但它会给您一个估计值和范围。您是否正在运行auditd?是否将其配置为记录特权操作,如系统时间更改?如果必要的话,你可以加一个心跳时间戳,比如说每分钟一次,然后看看记录中是否有不连续的地方。恐怕没有被审计过。。
#!/bin/sh
touch /tmp/date.changed
/bin/date "$@"