根据修改时间检测文件更新

根据修改时间检测文件更新

有没有办法查看文件更新的频率?
我的意思是我需要查看文件的修改时间是否以动态方式更新(与tail显示文件是否以动态方式更新相同)。
我不能使用例如,tail因为文件的内容没有被附加,而是被覆盖,并且可以用相同的值覆盖,所以我不能做出脑震荡。

答案1

这个怎么样:

watch -n 1 'stat /path/to/the/file'

答案2

您可以使用通知等待例如更有效地做到这一点

inotifywait -e modify -m  --timefmt "%F %T" --format "%T %e" /tmp/fred/1

将监视文件 /tmp/fred/1 的修改事件,因此更新它会产生如下输出

2013-02-22 09:30:26 MODIFY
2013-02-22 09:30:26 MODIFY

您可以记录多个事件,更改时间格式(timefmt 需要时间字符串格式化)输出到文件并守护进程,例如

inotifywait -o /tmp/watch.out -d -e modify -m  --timefmt "%F %T" --format "%T %e" /tmp/fred/1

所以现在您只需 tail /tmp/watch.out 即可。

答案3

您还可以使用“审计”守护进程 /etc/audit/auditd.conf 是审计守护进程的配置文件 /etc/audit/audit.rules 包含审计规则

相关内容