对于硬盘空间比较紧张的主机, 尤其是一些 VPS, 定时监测硬盘分割区使用量很有用。以下 Shell Script 可以检查每个硬盘分割区的使用量, 如果达到预先设定的百份比, 会以电邮通知系统管理员。
先建立一支 Shell Script, 以下会用档案名称 check-disk.sh 作为例子, 加入以下内容
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#!/bin/bash toemail="you@youremail.com" alert=90 df -H | grep -vE '^Filesystem|tmpfs' | awk '{ print $5 " " $6 }' | while read output; do usepercent=$(echo $output | awk '{ print $1}' | cut -d'%' -f1 ) partition=$(echo $output | awk '{ print $2 }' ) if [ $usepercent -ge $alert ]; then echo "$(date): $(hostname) Disk Space Alert: \"$partition ($usepercent%)\"" | mail -s "$(hostname) Disk Space Alert" $toemail fi done |
第 3 行设定系统管理员的电邮, 第 4 行设定发出通知的使用量百份比, 条改好后给 check-disk.sh 执行权限:
# chmod +x check-disk.sh
最后将档案放到 crontab 自动执行:
# crontab -e
例如想每天晚上 12 时执行, 加入以下语法即可:
|
1 |
0 0 * * * /path/to/check-disk.sh > /dev/null 2>&1 |
No Responses