上篇【解决Tomcat catalina.out不断膨胀,导致磁盘占用过大的问题】提到日志被切割后,时间久了会生成大量被切割的小文件,积累下来,同样会撑爆磁盘,此篇为上文的续文,旨在定期清理之前的历史文件,保持磁盘有空余空间可用。
手动删除文件命令是:
find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \;
实例命令:
[root@localhost logs]#find /home/log/ -mtime +30 -name "*.log" -exec rm -rf {} \;
手动执行太不人性化了,这里我们要结合Linux中cron执行调度任务,定时去删除清理文件。如果这些日志后期分析要使用的话,最好先打包压缩后,再把源文件删除。
[root@localhost logs]#touch /usr/local/scripts/autodel-log.sh
[root@localhost logs]#chmod +x auto-del-30-days-ago-log.sh
新建一个可执行文件autodel-log.sh,并分配可运行权限
[root@localhost logs]#vi autodel-log.sh:
#!/bin/sh
find /home/log/ -mtime +30 -name "*.log" -exec rm -rf {} \;
ok,保存退出(:wq)。
[root@localhost logs]#crontab -e
将auto-del-30-days-ago-log.sh执行脚本加入到系统计划任务,到点自动执行
输入:
0 0 1 * * ? /usr/local/scripts/autodel-log.sh >/dev/null 2>&1
每天凌晨1点去做这件事
歪脖贰点零 ∣一个有逼格的WEB2.0
长按,识别二维码,加关注