linux shell判断磁盘占用

该脚本用于监控指定目录的磁盘使用情况,当空间使用率达到85%-90%时,将自动删除一定数量的文件。它可以通过定时任务每天或每半天执行一次,以防止磁盘过满。脚本首先检查目录是否存在,然后获取磁盘使用率和文件数量,当达到预设条件时执行文件删除操作。
摘要由CSDN通过智能技术生成

脚本

指定监控目录,指定空间使用百分比的阈值,当超过时,再删除。根据经验,一般超过 85%~90%时即可删除。该脚本可使用定时任务执行,根据磁盘使用空间,可半天或一天执行一次。

#!/bin/sh

#前提:已挂载目录
mount_dir=/mnt/hgfs
percent_in=85
file_del=1000

count_del=10

# 如果不存在目录,退出
if [ ! -d $mount_dir ]; then 
    echo $mount_dir "not found, quit"
    exit
fi 

percent=`df -h | grep $mount_dir | awk '{print $5}' | tr -d '%'`
dev_file=`df -h | grep $mount_dir | awk '{print $1}'`
file_count=`ls -l $mount_dir | wc -l`

echo $percent $percent_in
# 当空间占用百分比大于某个指定值时,删除目录前指定的数量
if [ $percent -ge $percent_in ];then
    echo "need to remove file! occupy" $percent"%" "of" $dev_file
    #cd $mount_dir
    #file=`ls | sort | head -$file_del`
    #rm $file
    #cd -
else
    echo "no need to remove file"
fi

# 按文件数量判断,用于文件体积小但数量大的情况,因其会占用文件索引
#if [ $file_count -ge $count_del ];then
#    echo "need to remove file! occupy total" $count_del "files of" $dev_file
    #cd $mount_dir
    #file=`ls | sort | head -$file_del`
    #rm $file
    #cd -
#else
#    echo "no need to remove file"
#fi

#file=`ls | sort | head -$file_del`
#echo $file

echo "comand complete at" 
date
echo "======================================"

参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值