当磁盘空间小于80%的时候,我们开始执行清理程序
#!/bin/sh
# 获取磁盘占用情况,并按行循环读取至output
df -H | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print $5 " " $1 }' | while read output;
do
echo $output # 输出结果
# 通过 awk 获取占用百分比 cut -d 指定分隔符 获取 占比数字
usep=$(echo $output | awk '{ print $1}' | cut -d'%' -f1 )
# 获取文件路径
partition=$(echo $output | awk '{ print $2 }' )
# ; 用于分割命令,一行包括多个命令
if [ $usep -ge 80 ]; then
find /data/wwwlogs/ -mtime +30 -name "*.log" -exec rm -rf {} \;
echo "Running out of space \"$partition ($usep%)\" on $(hostname) as on $(date)" ## 也可以发送报警邮件
fi
done
网友回复