#!/bin/bash
source /etc/profile
# Device to check
devname="/dev/sdb1"
let p=`df -k $devname | grep -v ^File | awk '{printf ("%i",$3*100 / $2); }'`
if [ $p -ge 90 ]
then
df -h $devname | mail -s "Low on space" my@email.com
fi
Run Code Online (Sandbox Code Playgroud)
然而,要运行Crontab,通常需要提醒
编辑:对于多个磁盘
#!/bin/bash
source /etc/profile
# Devices to check
devnames="/dev/sdb1 /dev/sda1"
for devname in $devnames
do
let p=`df -k $devname | grep -v ^File | awk '{printf ("%i",$3*100 / $2); }'`
if [ $p -ge 90 ]
then
df -h $devname | mail -s "$devname is low on space" my@email.com
fi
done
Run Code Online (Sandbox Code Playgroud)
我尝试使用Erik的答案,但是设备有长名称包装数字并导致脚本失败的问题,数学看起来也错了,并且与自己报告的百分比不匹配df.
这是他的脚本的更新:
#!/bin/bash
source /etc/profile
# Devices to check
devnames="/dev/sda1 /dev/md1 /dev/mapper/vg1-mysqldisk1 /dev/mapper/vg4-ctsshare1 /dev/mapper/vg2-jbossdisk1 /dev/mapper/vg5-ctsarchive1 /dev/mapper/vg3-muledisk1"
for devname in $devnames
do
let p=`df -Pk $devname | grep -v ^File | awk '{printf ("%i", $5) }'`
if [ $p -ge 70 ]
then
df -h $devname | mail -s "$devname is low on space" my@email.com
fi
done
Run Code Online (Sandbox Code Playgroud)
主要变化是改变df -k以df -Pk避免换行,并简化了awk来使用,预先计算值,而不是百分比的recalcing.
| 归档时间: |
|
| 查看次数: |
7553 次 |
| 最近记录: |