どうも長らくあけてしまいました。アサヤンです。


実はデンマークへ出張へ行っておりまして、あけてしまいました。


もちろん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
楽天

※モバイル非対応