該問題分為兩個步驟來考慮,一是如何監測磁碟容量;二是如何自動郵件警示。
第一個問題有兩種解決方案,一是利用命令列下的wmic命令來寫一個bat指令碼;二是利用windows內建的效能監控。第一種方法比較麻煩,這裡採用了第二種方法。
這樣,總的詳細步驟如下:
第一步 啟用“效能”功能
在伺服器中,點擊“開始→運行”,在“運行”對話方塊中輸入“perfmon.msc”命令後斷行符號,彈出“效能”管理主視窗。接著依次展開“效能記錄檔及警示 → 警報”選項,下面就可以利用“建立警報設定”來監控伺服器空間的剩餘數量,當伺服器剩餘空間低於某個數值時,就向管理員警示,提示空間 不足的警告資訊。
第二步 建立警告設定
接下來要建立一個警報設定,用來監控磁碟空間剩餘量。
在“效能”管理主視窗中,右鍵點擊“警報”選項,在彈出的菜單中選擇“建立警報設定”選項,彈出建立警報設定對話方塊,在“名稱”欄中為該警報起個名稱,如“Diskfree”,點擊“確定”按鈕後,進入到警報參數設定對話方塊。
第三步 警報參數設定
1. 添加計數器
在警報參數設定對話方塊中,點擊“添加”按鈕,彈出“添加計數器”對話方塊,接著在“效能物件”下拉式清單方塊中選中“LogicalDisk”選項。
下面選中“從列表選中計數器”選項,接著在列表框中選中“%Free Space”,再選中要監控的盤符,如“C:”,最後點擊“添加”按鈕。 (注意,監控多個盤要分別添加警報;監控整個磁碟容量就選擇“_Total”)
2. 警告參數和採樣間隔
然後回到警報參數設定對話方塊中,接下來要設定觸發警告參數和資料採樣間隔參數。這裡要設定為剩餘磁碟空間低於15%後,就向管理員發出警報。在“將觸發警報,如果值是”下拉框中選擇“低於”選項,在“限制”欄中輸入“15”。 接著設定資料採樣間隔值,這個間隔時間不要設定的過短,如設定為“5分鐘”,在“間隔”欄中輸入“5”,“單位”欄中選擇“分鐘”。
3. 指定警告操作
最後還要切換到“操作”標籤頁,在“當觸發警報時”框體中選中“執行這個程式”選項,單擊“瀏覽”,選擇“郵件警告.bat”
附上“郵件警告.bat”樣本:
[html]
@echo off
echo 磁碟已滿,請及時清理!!!伺服器位址為: > c:mail_body.txt
ipconfig | find "IP Address" >> c:mail_body.txt
:::::::::::::: 參數設定:::::::::::::
set from=test@qq.com
set user=test
set pass=11111
set to=alarm@qq.com
set subj="Disk Full Alarm!"
set mail=c:mail_body.txt
set server=smtp.qq.com
set debug=-debug -log c:blat.log -timestamp
::::::::::::::::: 運行blat :::::::::::::::::
blat %mail% -to %to% -base64 -charset Gb2312 -subject %subj% -server %server% -f %from% -u %user% -pw %pass% %debug%
郵件警示截圖: