有没有一种简单的方法来检查子文件夹中的文件更改?

有没有一种简单的方法来检查子文件夹中的文件更改?

有没有一种简单的方法来检查子文件夹中的文件更改?

我有SSLcerts带有子文件夹的文件夹SiteNameXYZ。每个子文件夹都包含证书文件包。

理想情况下,我需要一个能够响应任何子文件夹中的文件更改(日期修改)的脚本。

如果可能的话,我不想将inotify或 systemd 路径单元附加到每个子文件夹。因为子文件夹很多,而且数量是动态的。

如果没有简单的解决方案 - 这对我来说也是正确的答案:)

答案1

如果您需要对目录中的更改立即采取行动 - 您必须使用inotify.是的,树中的每个子目录都需要自己的手表。但手表的数量并不是真正的问题。只需在开始时扫描主目录,为每个子目录创建一个新的监视,潜入该子目录并重复。该递归将为您提供所需的所有手表。在创建/删除目录时,您还可以创建/删除监视。

如果您对延迟检查感到满意 - 您可以执行以下操作

#!/usr/sh

CUR=list_of_files.txt
PREV=old_list_of_files.txt
CHANGES=list_of_changes.txt

mv $CUR $OLD
ls -lR /maindir/ > $CUR
diff $OLD $CUR > $CHANGES

# And now you can do whatever you need with the changes.

可以将此类脚本放入cron常规运行中。

相关内容