背景:
注:脚本的思路:
首先/app所在磁盘的使用率超过了80%之后自动脚本优先删除日志文件的修改时间在300天之前的,如果删除300天之后日志文件操作之后,/app所在磁盘的使用率任然是大于80%的,自动脚本
将继续进行删除日志文件的循环操作,循环一直删除到/app所在磁盘使用率低于80%才会自动退出循序,脚本最低保留的日志文件的修改时间在180天之后的日志文件。
shell脚本开发:
脚本内容如下:
vim /root/bin/del_server-log.sh
#!/bin/bash
#author:jiang
#time:2022-05-11
for ((i=300;i>180;i--))
do
use=`df -h | grep /app | awk -F" " '{print $5}' | cut -d "%" -f 1`
if [ $use -ge 80 ]
then
find /app/logs/ -mtime +$i -name "server.log.*" -exec rm -rf {} \;
else
break
fi
echo $i
done
添加到Linux的cron定时任务配置文件中去
# crontab -e
59 23 * * 6 /bin/bash /root/bin/del_server-log.sh
脚本执行时间:
在每周六的晚上23:59分钟开始执行
该博客介绍了如何编写一个Shell脚本,用于在/app目录磁盘使用率达到80%时自动删除300天以上的日志文件,直至磁盘使用率低于80%。脚本保留最近180天的日志,并将其设置为每周六23:59通过cron定时任务执行。
6317

被折叠的 条评论
为什么被折叠?



