在沒有scom或是第三方工具對伺服器進行監控的話,我們只能手動進到服務去檢視硬碟的使用情況。大家是否有碰到過因伺服器硬碟空間不足,沒及時發現,而導致服務停止?
下面給大家介紹乙個好工具,利用powershell指令碼,收集指定伺服器的硬碟使用狀態,如果達到設定的警報值,則發郵件通知給指定的乙個,或多個管理員!
原指令碼來自technet指令碼中心,經過我在不同環境中測試,效果不錯,現分享給大家!
使用方法:
1)指令碼設定的***警告值為空間底於20%,紅色警告值為空間底於10%,如果要修改,請將以下值修改為你想要的:
$percentwarning=20;
$percentcritcal=10;
2)修改收件人郵箱,即那個人或是那些人要收到通知郵件:
$users=「[email protected]「
如果需要給多個郵件人,請修改為:
$users=「[email protected]「,」[email protected]」
3)修改伺服器列表、報告生成目錄
$reportpath="d:\script\";
此處用為存放生成的html報告檔案,也建議將ps1檔案也存於同一目錄。
$computers=get-content"serverlist.txt";
在此目錄建立乙個serverlist.txt檔案,請將需要收集的伺服器名填到此檔案中,一行乙個伺服器的主機名,如:
$smtpserver="mail01.sysmicro.cn"
$smtp=new-objectnet.mail.smtpclient($smtpserver)
$msg=new-objectnet.mail.mailmessage
$msg.to.add($user)
$msg.from="[email protected]"
5)2、在powershell中測試如果指令碼不能執行,請修改指令碼執行策略
可參考文章:中第二步。
3、建立計畫任務,讓指令碼自動在指定時間執行!
powershell–file」d:\script\checkdiskspace_51cto.ps1」
可參考文章:中第四步
執行效果如下:
如果收集的伺服器中,所有硬碟空間都大於設定的警告值,如:20%,則只會生成空白報告而不發郵件,如下:
說明:此方法使用於域環境下,以域管理員或是擁有所有伺服器管理員權的賬號登入到某台伺服器執行此指令碼。如果為執行指令碼的時登入的賬號沒有對應伺服器的管理員許可權,將無法執行。如果每台伺服器的許可權分散,沒有管理員許可權,則建議將指令碼分析放在各台伺服器上,然後在各伺服器上去執行指令碼或是設定計畫任務。
當然,你也可以用於收集域中所有電腦的硬碟使用情況!
伺服器硬碟空間不足
df 命令 linux中df命令的功能是用來檢查linux伺服器的檔案系統的磁碟空間占用情況。可以利用該命令來獲取硬碟被占用了多少空間,目前還剩下多少空間等資訊。1 命令格式 df 選項 檔案 2 命令功能 顯示指定磁碟檔案的可用空間。如果沒有檔名被指定,則所有當前被掛載的檔案系統的可用空間將被顯示...
伺服器硬碟空間操作
driveinfo alldrive driveinfo.getdrives 獲取乙個driveinfo物件陣列,代表當前計算機的所有邏輯分割槽 foreach driveinfo item in alldrive driveinfo類允許你獲得計算機驅動器的資訊。一般而言,driveinfo類只是...
NAS使用 解決群暉伺服器硬碟空間滿問題
總結 今天看了下家裡的群暉伺服器,發現空間盡然已經快滿了,也沒用nas做什麼呀。用file station看了下檔案,發現有個 站有4個多t,真是浪費。稍微研究了下,有了解決方案,記錄一下!因為設定了華為手機的自動備份,華為手機備份設定在設定 系統和更新 備份和恢復 外部儲存。nas設定正確的話,應...