
touch /export/Shell/auto-del-log.sh
2,修改脚本文件权限
chmod +x /export/Shell/auto-del-log.sh
3,脚本文件执行内容
#!/bin/sh
find /export/Instances/pplanT.jd.local/server1/logs -name "$(date "+%Y").*" -exec rm -rf {} \
#!/bin/sh
find /export/Instances/pplanT.jd.local/server1/logs/* -type d -exec rm -rf {} \
4,定时执行
crontab -e
*/1 * * * * sh /export/Shell/auto-del-log.sh once >/dev/null 2>&1 &
crontab -l
重载定时配置:service crond reload
重启定时服务:service crond restart
如果日志文件的命名包含一定的规律,例如日志文件都以日期时间为结尾,那么就可以用这个规律来指定需要删除文件的范围来达到批量删除的目的,文件名中其他的部分可以用通配符"*"来代替。举个例子,有59个日志,从aa20110101到za20110228,如果想删除1月份的日志,命令可以写成
rm *201101*。同样道理,只要能找出文件的命令规律,就可以用相同的方式,一次删除一批文件,并不局限我们举的这个例子
但是建议你在删除前,最好用ls -l *201101* 来验证一下是否有不应该删除的文件名出现在返回结果中,毕竟命令行删除可没有回收站一说。如果返回的结果大于你想要的,说明你指定的文件名并不精确。另外,rm -rf是强制删除所有指定的对象,如果不幸某个目录或者链接文件也有同日志文件类似的名字,那可就会误删了。
例: vi /var/log/messages :set nu 查看文件中的你要删除的时间段在几行之间 如果是100-200行,则将光标放在第100行,按100dd即可删除。还有其他方法。看你的具体需求。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)