用shell脚本判断文件是否在变化

linux中有一个父文件夹,
1. 遍历它的一级子目录,记录每个子文件夹的大小;
2. sleep 20
3. 再次遍历它的一级子目录,记录每个子文件夹的大小;
4. 比较两次遍历,在大小在变化的文件夹内生成一个子文件,记录当前时间。

第1个回答  2018-07-11
你可以对文件进行md5校验,校验结果不一致的就执行4.追问

能麻烦您写一下具体代码看看吗?shell还不太会用 好多功能不知道什么关键词( •̥́ ˍ •̀ू )

第2个回答  2018-07-11
1、Tripwire是一个免费的开源入侵检测系统(IDS)。 它是用于监视和警告系统上文件更改的安全工具。
yum -y install tripwire
2、stat命令主要用于显示文件或文件系统的详细信息
OLD_SIZE=`stat -c %s filename`
sleep 20
NEW_SIZE=`stat -c %s filename`
if [[ "$OLD_SIZE" != "$NEW_SIZE" ]]
then :
echo "changed"
else :
echo "no change"
fi
3、md5sum计算文件列表的hash值并保存成文件,和20秒后生成的文件比较
find . -type f -exec md5sum {} \; > a.txt
sleep 20
find . -type f -exec md5sum {} \; > b.txt
diff a.txt b.txt本回答被提问者采纳