電子メールアラートを送信するためにWBADMINで使用するスクリプトを持っている人はいますか?私はスクリプトの初心者であり、失敗したバックアップについて通知するための解決策を見つけるのに苦労しています。持っていると便利なツールになるようです。
Server 2008 R2 Foundationを実行していて、NASにバックアップしています。タスクスケジューラでwbadminを使用して、毎日のバックアップを実行しています。
[〜#〜] update [〜#〜]サードパーティのソリューションの予算がないため、簡単なスクリプトでソリューションを実行しようとしています。
すでに失敗したバックアップがある場合は、バックアップ|操作イベントログで失敗したバックアップを見つけ、失敗したイベントを右クリックし、[このイベントにタスクを添付]を選択して、タスクに入力するだけで簡単に実行できます。適切に設定します。
その後、バックアップが失敗してイベントがログに記録されるたびに、タスク構成に基づいて電子メールが送信されます。
Server 2012では、バックアップツールは各バックアップタスクの後に2つのログファイルを書き込みます。
失敗した場合、Backup_Error- <date> .logにデータが入力されると思います。
タスクスケジューラを使用して、バッチファイルを実行して次のことを実現します。
@echo off :: This script has been written to monitor WBAdmin backups on Server 2012 :: :: Tested on: Microsoft Windows Server 2012 Standard (6.2.9200 N/A Build 9200) :: Date: September 4, 2015 :: Author Florian Bidabe @Enelass (https://au.linkedin.com/in/bidabe) ::Variables set MailServer= set Sender= set Recipient= :: Delete Empty files cd C:\Windows\Logs\WindowsServerBackup for %%F in (*) do if %%~zF equ 2 del "%%F" :: Look for Backup_Error file(s) dir C:\Windows\Logs\WindowsServerBackup\Backup_Error*.log > nul 2> nul if %ERRORLEVEL% EQU 0 goto :AdminAlert echo No Error Logs available ! Backup suceeded ! ping 0.0.0.0 -n 5 > nul 2> nul exit 0 :AdminAlert :: Test if blat can be found (SMTP Server) where blat > nul 2> nul if not %ERRORLEVEL% EQU 0 ( echo Blat cannot be found... Copy blat.exe in system32! ping 0.0.0.0 -n 5 > nul 2> nul exit 1) :: Select most recent error log FOR %%F IN (C:\Windows\Logs\WindowsServerBackup\Backup_Error*.log) DO ( set filename=%%F goto :Send ) :Send blat -SaveSettings -f %Sender% -server %MailServer% blat -body "Hello Administrator, Please consult the attached log" -attach %filename% -s "%computername% - Windows Server Backup has failed !" -to %Recipient% exit 0
blat を使用できます。これは、指定したSMTPサーバーと資格情報を使用して電子メールを送信するコマンドラインツールです。 blatを使用するようにスクリプトを設定し、wbadminバックアップの失敗についてメールを送信しました。
これは、スクリプトを作成するための非常に便利なツールです。私はこれを多くのスクリプトで常に使用して、注意が必要な可能性のあるステータスを警告しています。