Linux - Shell脚本检查根目录的磁盘占用率

Linux服务器的根目录可能会由于日志过多而爆满,影响运行的服务。

为此,希望定期检查根目录的磁盘占用率,当占用率过高则删除相应的日志文件。

可以编写如下shell脚本:

usage=`df -h | awk '$6=="/"{sub("%","",$5);print $5}'`
if [ $usage -gt 90 ]; then
    find /data/tomcat/logs/ -type f -size +2G -exec rm -f {} \;
fi

解释一下:

1. 变量usage

        意义为根目录的占用率。

        df -h 是列出文件系统的整体磁盘使用量。

        

        awk '$6=="/"{sub("%","",$5);print $5}' 是从查询的磁盘使用量中做子查询,找到根目录的使用率。awk方法就是把内容逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。),$6=="/" 切分的第6个区域是否为"/"根目录,如果是,则取该行第5个区域($5)的值,并用""替换掉"%",然后赋值为usage。

2. if判断(关于shell的if [] 表达式的简要解释

        [ $usage -gt 90 ] 当根目录的占用率大于90%,则执行删除命令。

3. 查找并删除
        find /data/tomcat/logs/ -type f -size +2G -exec rm -f {} \;

        在/data/tomcat/logs/路径下查找大小超过2G(-size +2G)的文件( -type f ),并执行删除(rm -f {},{}代表查找出来的文件,;代表结束符, 用\做转义;结束)。

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值