获取所有 PHP 文件并存储其大小

获取所有 PHP 文件并存储其大小

我喜欢监控每个 php 文件的大小(以及是否添加了新文件)。我的服务器上有超过 200 000 个 php 文件,所以find需要很长时间。

这是我的做法:

ls -1 --size $(find -P . -type f -name "*.php")

这要花几个小时。

我能做些什么来加快这个监控速度?(除了更快的服务器)或者有没有什么技巧可以提供带有文件大小或 crc32 的文件列表?

此外我不知道这是否会更快:

find . -P -type f -name "*.php" -exec ls -1 --size \{} \;

答案1

寻找命令有一个-printf选项可用于打印文件的大小,而无需执行 ls

find . -name '*.php' -printf "%p %s\n" 

您可以使用sha512sum(或者md5sum)获取文件列表并生成哈希值,稍后可用于检查其完整性

find . -name '*.php' | while read line; do sha512sum "$line"; done

如果你将上述命令的输出捕获到文件中,则可以使用 sha512sum 检查其完整性

sha512sum -c file

答案2

使用OSSEC进行完整性检查。

相关内容