删除2分钟以前的log
vi clear.sh
#!/bin/bash
cd /home/logs
find ./ -name *.log -mmin +2 -name "name" -exec rm -rf {} \;
将大于5M的log重置为0
find ./ -name *.log -size +5M | xargs truncate -s 0;
每小时的10,30执行
10,30 * * * * sh clear.sh
每个10分钟执行
*/10 * * * * sh clear.sh
删除当天日期目录下的日志
#!/bin/bash
cd $(date +%Y-%m-%d)
find ./ -name '*'.log -size +20M | xargs truncate -s 0;
exec和xargs对比
exec 每处理一个文件或者目录,都需要启动一次命令;
exec 必须用 {} 做文件的代位符,必须用 \; 作为命令的结束符。
xargs 不能操作文件名有空格的文件;