Linux服务器上,定期自动清理历史日志文件

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 20:21   2087   0

上篇【解决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

640?wx_fmt=jpeg

640?wx_fmt=png

长按,识别二维码,加关注

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP