2011-02-22 21:15:46 +0000 2011-02-22 21:15:46 +0000
69
69

Заставьте планировщика задач Windows предупредить меня о неудаче.

У меня есть автоматический скрипт, который вытаскивает резервные копии с моего сайта на мой локальный компьютер. Этот сценарий может выйти из строя; как только мой сервер вышел из строя, в другой раз я случайно переместил свой сценарий.

Как заставить планировщика задач Windows сказать мне, что с этим сценарием произошел сбой (или он не запущен/не найден)?

Меня не волнует, появится ли подсказка, электронное письмо или что-нибудь еще, что появится на моем рабочем столе. Я хочу получать уведомления, если что-то пойдет не так. На моем сервере, crontab пишет мне об ошибках - это здорово. Я хочу, чтобы что-то подобное появилось на моем локальном компьютере Windows 7.

Ответы (3)

89
89
89
2011-02-22 22:13:57 +0000

Когда запланированная задача не запускается, событие записывается в журнал событий TaskScheduler:

Note: Журнал планировщика задач располагается в (в разделе Администрирование)

Computer Management
    System Tools
       Event Viewer
          Application and Services Logs
             Microsoft
                Windows
                   Task Scheduler
                      Operational

Windows позволяет trigger запланированным задачам запускаться при возникновении различных событий, например:

  • время суток
  • запуск системы
  • вход пользователя
  • событие, записанное в журнале событий

С этим знанием вы можете создать запланированную задачу, которая запускается, когда ваша запланированная задача не удается:

В этом случае action этой запланированной задачи можно настроить на то, что будет посылать вам предупреждение - в зависимости от выбора метода (например, срабатывает отключение). Возможно, вы просто захотите, чтобы она отправила сообщение по электронной почте:

Так Windows управляет всем. Вы можете видеть много диагностических задач, которые запускают событие, появляющееся в журнале. Например, когда обнаруживается конфликт IP-адреса, событие записывается в журнал:

  • Log: Система
  • Source: Tcpip
  • Event ID: 4198

Запланированная задача срабатывает на этом событии, и запускает программу, чтобы рассказать вам об этом и исправить его. Помните, что идентификатор события не является специфическим для одной задачи. Любая задача, которая генерирует событие 203 - Действие не запустилось, спровоцирует срабатывание этой задачи.

14
14
14
2016-01-15 20:59:39 +0000

Вот мой сценарий, чтобы предупредить меня, когда моя работа по резервному копированию имеет большее значение, чем 0.

$ScheduledTaskName = "Hans\Backup"
$Result = (schtasks /query /FO LIST /V /TN $ScheduledTaskName | findstr "Result")
$Result = $Result.substring(12)
$Code = $Result.trim()

If ($Code -gt 0) {
    $User = "mymail@gmail.com"
    $Pass = ConvertTo-SecureString -String "myPassword" -AsPlainText -Force
    $Cred = New-Object System.Management.Automation.PSCredential $User, $Pass
################################################################################

$From = "Alert Scheduled Task <mymail@gmail.com>"
$To = "Me Gmail <mymail@gmail.com>"
$Subject = "Scheduled task 'Backup' failed"
$Body = "Error code: $Code"
$SMTPServer = "smtp.gmail.com"
$SMTPPort = "587"

Send-MailMessage -From $From -to $To -Subject $Subject `
-Body $Body -SmtpServer $SMTPServer -port $SMTPPort -UseSsl `
-Credential $Cred
}
7
7
7
2012-06-01 13:42:17 +0000

Взгляните на PushMon . Вы можете создать PushMon URL, который будет вызываться в конце вашего скрипта. Если ваш скрипт не запустится из-за того, что сервер не работал или скрипт был перемещен, вы получите уведомление. Вы можете получать уведомления по электронной почте, SMS, телефонному звонку, IM и Twitter. Это будет работать для любой операционной системы. Это похоже на Pingdom, но для скриптов и фоновых задач.

Похожие вопросы

3
28
13
7
17