Wbadmin 失败时发送电子邮件警报

Wbadmin 失败时发送电子邮件警报

有人有与 WBADMIN 一起使用来发送电子邮件警报的脚本吗?我是脚本新手,在寻找备份失败时通知的解决方案时遇到了麻烦。看来这是一个很有用的工具。

我正在运行 Server 2008 R2 Foundation 并备份到 NAS。我使用 wbadmin 和任务计划程序执行每日备份。

更新 我们没有第三方解决方案的预算,因此我尝试通过一个简单的脚本来实施解决方案。

答案1

如果您已经遇到备份失败的情况,则应该很容易完成,只需在备份|操作事件日志中找到失败的备份,右键单击失败的事件,选择“将任务附加到此事件”,然后适当地填写任务设置即可。

然后,每当备份失败并将事件记录到日志中时,就会根据您的任务配置发送一封电子邮件。

答案2

在 Server 2012 上,备份工具在每次备份任务后都会写入两个日志文件: 在此处输入图片描述

  • 成功时,将创建 Backup_Error-<date>.log,但是为空。
  • 当不成功时,我假设 Backup_Error-<date>.log 中会填充数据。

    使用任务计划程序,我运行批处理文件以实现以下目标:

    1. 删除 C:\Windows\Logs\WindowsServerBackup 目录中的空 .log 文件
    2. 搜索(剩余的)Backup_Error*.log(因为非空)
    3. 使用以下方式将其内容邮寄给我布拉特
@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

答案3

您可以使用布拉特这是一个命令行工具,它使用 SMTP 服务器和您指定的凭据发送电子邮件。我已将脚本设置为使用 blat,并在 wbadmin 备份失败时向我发送电子邮件。

这是编写脚本时非常有用的工具。我经常在很多脚本中使用它来提醒我可能需要注意的状态。

答案4

除非您真的想这样做,否则您不必编写此脚本。Webmin 可以做到这一点...如果您使用 Webmin 的备份,当您转到“安排备份”>“创建计划”>“备份计划”时,那里有一个选项允许您在发生错误时通过电子邮件通知某人。

Webmin 备份

相关内容