對於硬碟空間比較緊張的主機, 尤其是一些 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 |