どうも長らくあけてしまいました。アサヤンです。
実はデンマークへ出張へ行っておりまして、あけてしまいました。
もちろんVPNでサーバの監視は一応しておりました。
今回のテーマは、ディスクの空き容量の監視です。
Oracleをされた方はご存知だと思いますが、アーカイブログというものが
テーブルを更新した度に、はきだされます。
これが厄介なことに、開発をしている人がやたらと更新すると、やたらとログが大きくなり、
知らぬ間にディスクの空き容量を圧迫してしまいます。
じゃあひたすら監視すればいいのかというと、そういうわけにもいきません。
困ったときのスクリプトということで、またスクリプトを作成してみました。
このスクリプトを3時間に一回実行するようタスクに登録しました。
そうすると、3時間に一回自動的に空き容量を判定してくれるわけです。
Set fso = CreateObject("Scripting.FileSystemObject")
Set src = fso.GetDrive("*:") 'ドライブレターを記入
'WScript.Echo src.FreeSpace
intFreeSpace = int(src.FreeSpace / 1024 / 1024 / 1024 * 10) / 10 'ディスクサイズをGBへ変換
'WScript.Echo intFreeSpace
If intFreeSpace < 2 Then 'ディスクサイズ判定 今は2GB未満になるとメールを送信
strMailBody = strMailBody & "****ドライブ空容量****" & vbCrLf
strMailBody = strMailBody & vbCrLf
strMailBody = strMailBody & src & " " & intFreeSpace & "GB" & vbCrLf
strMailBody = strMailBody & vbCrLf
strMailBody = strMailBody & "サーバを確認してください"
Call SendMail
End If
Set src = Nothing
Set fso = Nothing
WScript.Quit 'スクリプトを終了させる
'***********************************************************
' メール送信 プロシージャ
'***********************************************************
Sub SendMail
Set objEmail = CreateObject("CDO.Message")
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing
") = 2
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver
") = "***.co.jp" 'smtpサーバ名
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport
") = 25
objEmail.Configuration.Fields.Update
objEmail.From = ***@***.co.jp
objEmail.To = asayan@***.co.jp
strMailSubject = "空き容量確認!!" '件名
objEmail.Subject = strMailSubject
objEmail.Textbody = strMailBody
objEmail.Send
Set objEmail = Nothing
WScript.Echo "*** 送信完了 *** mail to: " & strMailTo
End Sub
アサヤンはOracleが入ったサーバも監視してるため、かなりOracleの知識が必要です。
Oracleを知っておくと、SE業界ではかなりつぶしが利くと思いますよ。
- 絵で見てわかるOracleの仕組み
- ¥2,310
- 楽天
※モバイル非対応