Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在做一个目录监控项目。我想编写一个 bash 脚本来计算目录的 md5checksum,并存储该变量以供以后比较。该脚本必须由 cronjob 运行,并且如果所述变量与先前设置的变量不匹配,则将执行命令。
当我跑
echo -n /path/to/directory | md5sum
我确定它只是计算字符串“/path/to/directory”的 md5,而不是目录本身。
这可能吗?如果是这样,我如何存储该变量以供脚本的下一个实例稍后进行比较?
md5sum仅处理文件,因此您必须生成文件名列表。find带 -type f参数是递归获取目录内容的好方法。
md5sum
find
-type f
如果您将 md5sum 的输出存储在一个文件中,那么您可以使用md5sum -c它来检查哪些文件已更改。
md5sum -c
怎么样ls /path/to/directory | md5sum?
ls /path/to/directory | md5sum
然后如何存储该变量以供脚本的下一个实例进行比较? 最简单的解决方案是将其存储在文件中。