我正在尝试创建一个shell脚本/命令来查找由PHP创建的error_log文件,检查它们的文件大小并在超过一定大小时删除它们。
我只使用下面的代码打印文件和文件大小
for i in `locate -r 'error_log$'`;do echo "$i|" `stat -c %s $i`;done
有人可以帮忙吗?
提前致谢!
答案 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
,因为它使用的数据库可能过时,甚至根本没有更新。