要監控一整個大量的 Server 可以使用 cacti 或是 Nagios,但是如果主機數量不大又或是單純想監控某一個磁碟的話,就可以使用 script 來進行。
這支 script 是簡單監控本機的磁碟是否超過警示的 % 數,並且讓他直接發信告知管理者
請編寫一隻 DiskMonitor.sh
#!/bin/bash DISK=sda1 WARN=80 SIZE=`df -h|grep $DISK|awk '{print $5}'|cut -d '%' -f1` DF=`df -lh` if [ $((SIZE)) -gt $WARN ];then echo -ne "DISK $DISK FULL,CLEAR NOW!!!! \n\n\n $DF" | /bin/mail -r eric@shazi.twbbs.org -s "Warnning!! $HOSTNAME Disk full , Use space $WARN %" eric@gmail.com fi
$DISK 為你要監控的磁區
$WARN 為要監控的百分比,範例是超過 80% 就會觸發發信機制
發信必須安裝 mailx 才會有 mail 的 command
整段 Script 用 if 判斷使用量,並將 df -lh 結果 print 在內容中,好讓管理者收到信件可以一目了然