Shell脚本:查找名为“error_log”的文件并检查大小,如果超过一定大小则删除

时间:2010-06-06 20:09:53

标签: linux shell

我正在尝试创建一个shell脚本/命令来查找由PHP创建的error_log文件,检查它们的文件大小并在超过一定大小时删除它们。

我只使用下面的代码打印文件和文件大小

for i in `locate -r 'error_log$'`;do echo "$i|" `stat -c %s $i`;done

有人可以帮忙吗?

提前致谢!

2 个答案:

答案 0 :(得分:1)

find $DIR -type f -name error_log -size +${BYTES_MIN}c -print0 |xargs -0 rm

例如:

find . -type f -name error_log -size +500k -print0 |xargs -0 rm

这将悄悄地删除当前目录下任何位置的任何错误日志文件,大于500k(c表示字节,k表示千字节,M表示兆字节,......)。如果您希望看到销毁完成,请将-v添加到rm

答案 1 :(得分:1)

我建议使用logrotate,但这预示着您知道日志文件的位置。我不会使用locate,因为它使用的数据库可能过时,甚至根本没有更新。