[[PC/WINDOWS]]
*サーバ管理用スクリプト [#bd84ea7a]
-イベントログを収集して、ファイルに保存
-指定のメールアドレスに送信する
-要eventquery.vbs
**ログ取得スクリプト logchk.bat [#k4033b6a]
@REM ------------------------------- 日付
@set A=%date%
@set D=%A:~5,2%/%A:~8,2%/%A:~0,4%
@Set F=%A:~2,2%%A:~5,2%%A:~8,2%
@REM ------------------------------- 出力ファイル
@set LC_DIR=C:\logcheck
@set L=%LC_DIR%\event_daily\ev%F%.txt
@REM ------------------------------- 時刻チェック
@echo 時刻チェック
@echo ローカルタイム %A% %time% > %L%
@echo ------------------------------ >> %L%
net time \\SERVER-1 >> %L%
net time \\SERVER-2 >> %L%
net time \\SERVER-3 >> %L%
@REM -------------------------------
@set H=SERVER-1
@echo %H%処理中
@echo === DATE:%D% HOST:%H% === >> %L%
@cscript c:\windows\system32\eventquery.vbs /S %H% /FI "Datetime gt %D%,01:00:00AM" /L System >> %L%
@cscript c:\windows\system32\eventquery.vbs /S %H% /FI "Datetime gt %D%,01:00:00AM" /L Application >> %L%
@REM cscript c:\windows\system32\eventquery.vbs /S %H% /FI "Datetime gt %D%,01:00:00AM" /L Security >> %L%
@REM -------------------------------
@set H=SERVER2
@echo %H%処理中
@echo === DATE:%D% HOST:%H% === >> %L%
@cscript c:\windows\system32\eventquery.vbs /S %H% /FI "Datetime gt %D%,01:00:00AM" /L System >> %L%
@cscript c:\windows\system32\eventquery.vbs /S %H% /FI "Datetime gt %D%,01:00:00AM" /L Application >> %L%
@REM cscript c:\windows\system32\eventquery.vbs /S %H% /FI "Datetime gt %D%,01:00:00AM" /L Security >> %L%
@REM ------------------------------- エラーのみを収集
@set H=SERVER3
@echo %H%処理中
@echo === DATE:%D% HOST:%H% === >> %L%
cscript c:\windows\system32\eventquery.vbs /S %H% /FI "Datetime gt %D%,01:00:00AM" /FI "Type eq Error" >> %L%
@REM @call %L%
@REM メールで送信
@Call cscript %LC_DIR%\mail.vbs %L%
**メール送信スクリプト mail.vbs [#w23778f0]
Set oMsg = CreateObject("CDO.Message")
' 引数を取得
Set args = Wscript.Arguments
' -------------------------------------------------------------------
' 設定
' サーバ名
server_name = "SERVER-1"
notify_addr = "<hoge@example.com>"
' 送信ファイル名
mail_file = args(0)
' 送信元
oMsg.From = server_name & notify_addr
' 宛て先
oMsg.To = notify_addr
' 件名
oMsg.Subject = "定期ログ:" & server_name
' メールサーバ
mail_server = "mail.example.com"
' ファイル読み込み
Set oFS = CreateObject("Scripting.FileSystemObject")
Set oFile = oFS.OpenTextFile (mail_file, 1)
text1 = oFile.ReadAll
oFile.Close
oMsg.TextBody = Now & vbCrlf & text1
oMsg.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
oMsg.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = mail_server
oMsg.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
oMsg.Configuration.Fields.Update
oMsg.Send
*参照 [#neec76f3]
-書籍:イベントログ運用の基本