Wbadmin оповещение по электронной почте о сбое
У кого-нибудь есть сценарий, который они используют с WBADMIN для отправки оповещений по электронной почте? Я начинающий автор сценариев, и у меня возникают проблемы с поиском решения для уведомления о сбоях резервного копирования. Похоже, это был бы полезный инструмент, чтобы иметь.
Я использую Server 2008 R2 Foundation и выполняю резервное копирование на NAS. Я использую wbadmin с планировщиком задач для ежедневного резервного копирования.
ОБНОВЛЕНИЕ У нас нет бюджета на сторонние решения, поэтому я пытаюсь реализовать решение с помощью простого сценария.
5 ответов
Если у вас уже была неудачная резервная копия, это должно быть достаточно просто сделать, найдя сбойную резервную копию в журнале резервного копирования | Оперативные события, щелкнув правой кнопкой мыши по неудачному событию, выбрав "Прикрепить задачу к этому событию" и заполнив ее. настройки соответственно.
Затем, когда происходит сбой резервного копирования и запись события в журнал, электронное письмо будет отправлено на основе конфигурации вашей задачи.
На Server 2012 средство резервного копирования записывает два файла журнала после каждой задачи резервного копирования:
- В случае успеха Backup_Error-
.log создается, но пустой. В случае неудачи я предполагаю, что Backup_Error-
.log будет заполнен данными. Используя планировщик задач, я запускаю командный файл для достижения следующего:
- Удалите пустые файлы.log в каталоге C:\Windows\Logs\WindowsServerBackup
- Поиск (оставшийся) Backup_Error*.log (потому что не пустой)
- Отправьте мне его содержимое с помощью Blat
@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.
Это невероятно полезный инструмент для написания сценариев. Я использую это все время во многих моих сценариях, чтобы предупредить меня о статусе, который может потребовать моего внимания.
MKSBackup это то, что вы ищете.
Вам даже не нужно ничего писать в сценарии, просто заполните файл.ini тем, что и где делать резервные копии. Добавьте свой адрес электронной почты, и вы получите очень полный, но простой почтовый отчет.
MKSBackup даже создать задачу в планировщике задач для вас при установке.
MKSBackup выпущен под лицензией GPL по адресу http://www.magikmon.com/mksbackup
Вам не нужно писать сценарий, если вы просто не хотите. Webmin может сделать это... если вы используете резервное копирование Webmin, когда вы идете в "Расписание резервного копирования" > "Создать расписание" > "Расписание резервного копирования", есть опция, позволяющая уведомить кого-либо по электронной почте в случае возникновения ошибки.