shell操作监听日志磁盘占用空间,实现自动清理日志

话不多说,直接贴脚本

#!/bin/bash
DAY_STR=`date +%Y-%m-%d %H:%M:%S`
TIME_STR=`date +%H%M%S`
percent=`df -k / | awk '{print int($5)}'` 
for each_one in $percent
do
   if [ $each_one -ge 80 ];then
      echo "${DAY_STR} 磁盘存储空间占用达${percent}">>/web/scripts/log.log
      df -k />>/web/scripts/log.log
      echo "开始处理日志清除">> /web/scripts/log.log
      
      find /web/logs/*/* -name "*" -type d -mtime +1 | awk '{print "rm -rf "$0}'  | bash
      
      echo "日志清除操作完成">> /web/scripts/log.log
      df -k />>/web/scripts/log.log
   fi
 
done

1、脚本解释:
(1)日期获取:
关键命令date,使用

(2)磁盘目录使用检查
关键命令df,使用

(3)判断磁盘占用量
关键命令if,使用

(4)操作日志,释放磁盘空间
关键命令rm,使用

其他命令配合操作,查看:find与ls的条件用法,定时删除文件

2、配合定时任务使用

定时检查时间可以适当设置,定时任务设置查看:linux环境配置之定时任务(Centos)

3、配合邮件使用

配合邮件及时通知处理,邮件配置查看:待完善

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容