【发布时间】:2018-01-04 19:45:20
【问题描述】:
将获取目录列表的 md5 校验和,如:
ls -la | md5
是一种在目录中查找文件更改的有效且准确的方法吗?
【问题讨论】:
-
这将非常有效,但一点也不准确。它既有误报(当输出从
Oct 23 12:34更改为Oct 23 2017,或时区/语言环境更改时),也有误报(更改ACL、更改fs 但不是文件、更改时区增量较小)。
将获取目录列表的 md5 校验和,如:
ls -la | md5
是一种在目录中查找文件更改的有效且准确的方法吗?
【问题讨论】:
Oct 23 12:34 更改为Oct 23 2017,或时区/语言环境更改时),也有误报(更改ACL、更改fs 但不是文件、更改时区增量较小)。
这可能在大多数情况下都有效,但不能防止文件在同一分钟内发生更改并最终具有相同大小的情况。
inotify 程序对您有用吗?看到这个帖子:
https://askubuntu.com/questions/541128/monitor-folder-contents-changes
对于它的价值,您可以 md5 目录中的每个文件,然后 md5 结果集.. 效率不高,但会捕获边缘情况。见下文:
[user@local ~/tmp] find . -type f -exec md5sum {} \;
e4982b4d6725d408d405f9800fdb4b77 *./1.txt
beb755b5b40ff3b449100455b96c937e *./2.txt
2466877a535c4f16bbec375f3085ab8d *./3.txt
[user@local ~/tmp] find . -type f -exec md5sum {} \; | md5sum
c73e5ae62984d69c94b5b24d75c07025 *-
【讨论】: