我当前正在监视带有子目录的目录,并且需要检测文件重命名。我所做的就是对所有文件进行 md5sum 并将文件列表保存在另一个位置,并且时不时地再次检查 md5sums 是否有文件更改是添加或重命名。
这个过程很繁重,我想一定有一种更简单的方法来检测重命名。
答案1
你可以尝试inotify工具。它可用于多种类似 Linux 的操作系统。
它的工作原理是向目录添加“监视”,指定要侦听的事件。关于这个主题的一篇可爱的文章可以在以下位置找到:https://www.linuxjournal.com/content/linux-filesystem-events-inotify
从联机帮助页:
DESCRIPTION
The inotify API provides a mechanism for monitoring file system events. Inotify can be used to monitor individual files, or to
monitor directories. When a directory is monitored, inotify will return events for the directory itself, and for files inside the
directory.
答案2
你有没有尝试过助手?我认为这对你的情况会有帮助。
# apt install aide [On Debian/Ubuntu]
# yum install aide [On RHEL/CentOS]
# dnf install aide [On Fedora 22+]
# zypper install aide [On openSUSE]
# emerge aide [On Gentoo]