Управление заданиями планировщика на локальных и удаленных системах. Мониторинг назначенных заданий

2018-06-22T12:04:23+00:00

Обновлятору не требуется быть всё время открытым или работать как служба, чтобы стал возможен запуск операций по расписанию.

Запуск по расписанию работает через стандартный механизм Windows, который называется "Планировщик задач".

И, когда пользователь задаёт настройки расписания...

Обновлятор автоматически создаёт нужные задачи в планировщике:

Чего нельзя забывать

Выбор пользователя

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

Должен иметь права в системе на "Вход в качестве пакетного задания".

Как проверить имеет ли пользователь необходимые права?

Самый простой вариант, это нажать правой кнопкой на созданном задании в планировщике и выбрать "Выполнить":

Если после того как отработает задача результат её запуска будет успешным...

Если же это не так, тогда обращаемся к системному администратору, чтобы он в политике безопасности указал (нашего пользователя или его группу) в пункте "Вход в качестве пакетного задания ", а также исключил из пункта "Отказать во входе в качестве пакетного задания ".

Должен иметь непустой пароль. Это требование безопасности Windows. Если вы столкнулись именно с этим ограничением, то самым правильным решением будет:

  • либо назначить пароль текущему пользователю, под которым вы собираетесь запускать обновлятор по расписанию
  • либо создать в системе отдельного пользователя с паролем, которого и прописать в расписании обновлятора

Ну а самым простым (но неправильным с точки зрения безопасности) решением этого ограничения будет отключить опцию "Разрешить использование пустых паролей только при консольном входе" в локальной политике безопасности компьютера.

Выбор баз

Также нельзя забывать, что в операциях, запущенных по расписанию участвуют только те базы, которые выбраны в списке баз, участвующих в расписании:

При этом не важно стоит ли отметка рядом с базой в общем списке:

Эти галки (в общем списке) предназначены только для ручного запуска операций и на запуск по расписанию никак не влияют.

Порядок запуска

И, наконец, ещё один не очевидный момент. При запуске задачи по расписанию обновлятор первым делом проверяет - не выполняется ли сейчас другая задача, запущенная по расписанию. И если выполняется - он в начале дождётся её окончания и только потом будет выполнять новую.

Это означает, что если нам, к примеру, нужно настроить, чтобы в 22-00 выполнялась архивация, а сразу после её окончания обновление баз, то достаточно для архивации указать время запуска 22-00, а для обновления, например, 22-01.

Что если нужно более сложное расписание

А что, если нам нужен не просто регулярный запуск в определенное время в определенные дни? Что если мы хотим, скажем, настроить запуск с 5 часов каждые пол часа, ну или что-то в этом роде?

В этом случае нам нужно воспользоваться всей мощью планировщика задач.

Сначала настраиваем расписание через обновлятор, указав что конкретное расписание будет настроено уже в планировщике:

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

И на соответствующих вкладках настраиваем всё, что наша душа пожелает:

Как исключить базу из некоторых операций по расписанию

Предположим, что у нас настроено расписание для обновления и для архивации:

Но при этом мы хотим, чтобы одна база участвовала в архивации по расписанию, но при это не участвовала в обновлении по расписанию.

Как же этого добиться - ведь список баз участвующих в расписании у нас один:

А сделать это очень просто.

Зайдите в свойства той базы, которую нужно исключить из обновления по расписанию и в самом низу окна найдите пункт "Исключить некоторые операции...":

Нажмите на него и исключите обновление этой базы из запуска по расписанию:

Должно получиться вот так:

Возможен ли запуск по расписанию с другими параметрами

Хочу обратить отдельное внимание на то, что задача в планировщике задач - это обычный запуск обновлятора с определенными параметрами командной строки:

А параметров для запуска через командную строку у обновлятора много.

Вы можете используя их настроить автоматизацию гораздо более тонко и в соответствии с вашими потребностями. Только не меняйте параметры командной строки в уже созданном задании обновлятора - иначе он всё равно сбросит их на начальные при обновлении настроек запуска по расписанию. Вместо этого скопируйте созданное задание в планировщике (чтобы у него было своё имя) и меняйте уже его.

Обо всех ключах командной строки обновлятора .

Как узнать запускался ли обновлятор по расписанию

Бывает так, что расписание вроде бы настроили - но что-то идёт не так.

И мы вообще не уверены - запускался ли обновлятор этой ночью.

Прежде всего я хочу обратить ваше внимание на область в главном окне обновлятора, где выводится статус операций по расписанию:

Здесь мы видим сколько дней назад запускалась соотв. операция по расписанию; сколько в ней участвовало баз и были ли ошибки. При этом если мы нажмём левой кнопкой на этих ссылках, то откроется соответствующий отчёт.

Также мы можем зайти в полный журнал отчётов обновлятора...

И посмотреть происходило ли выполнение задач.

Но самый надёжный способ разобраться запускалась ли программа и понять причины её не запуска или внезапного завершения - это включить журнал всех заданий в планировщике Windows. По умолчанию он отключён и я советую включать его, чтобы можно было всегда разобраться в проблемных ситуациях.

Чтобы включить журнал планировщика Windows заходим в диалог "Запуск по расписанию" и нажимаем кнопку "Открыть планировщик Windows":

Это можно сделать также и из панели управления Windows (раздел администрирование).

Здесь находим и нажимаем пункт "Включить журнал всех заданий":

Готово! Теперь мы сможем просматривать историю работы любой задачи в планировщике.

Например, выделим одну из задач обновлятора:

Как настроить облачную систему мониторинга за запуском задач обновлятора

Сейчас я расскажу о способе как застраховать себя от ситуации - "ой, у нас оказывается уже целую неделю не архивируются (обновляются, тестируются..) базы".

Такая ситуация очень даже возможна, если мы настроили запуск архивации по расписанию, а затем:

  • другой администратор сервера отобрал права у нашей учётной записи для запуска архивации из планировщика и в этом случае обновлятор не сможет нам отправить даже уведомление на почту, ведь для этого ему нужно запуститься, а прав на это нет...
  • или произошли какие-то другие ошибки и на сервере нет интернета, чтобы обновлятор отправил нам сообщение об ошибке...
  • или мы сами ошибочно выключили в обновляторе запуск архивации по расписанию...
  • да мало ли чего может быть...

А нужно всего лишь в дополнение к настройке уведомлений об ошибках на почту настроить облачную систему мониторинга запуска нашего обновлятора. Что это и как работает?

Это, на мой взгляд, совершенно гениальная штука, которая называется healthchecks.io . У этих ребят есть и платные тарифы, но нам вполне сгодится их бесплатный тариф.

Идея следующая. Мы регистрируемся у них на сайте и в своём личном кабинете имеем возможность сказать:

  • Эй, HealthChecks, дай мне уникальный Url (адрес интернет ресурса).
  • HealthChecks, если по этому адресу никто не будет стучаться (запрашивать) в течение такого-то периода - оповести меня об этом на такую-то почту.

Затем мы укажем этот адрес в обновляторе и он будет запрашивать его, например, в конце каждой архивации, запущенной по расписанию. И если в какой-то момент он вдруг перестанет запускаться или будет аварийно завершаться, то сервис HealthChecks оповестит нас об этом. Даже если наш сервер сгорит, его украдут и разберут на винтики..., мы первыми узнаем об этом от HealthChecks:-)

Я считаю это гениальная идея. Если вы так не считаете, похоже вы не до конца поняли смысл этой штуки - пожалуйста, перечитайте мой неуклюжий текст ещё раз.

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

Простейший сценарий настройки HealthChecks вместе с обновлятором

Пусть мы настраиваем ежедневную архивацию на сервере с именем DataServer , который принадлежит компании ООО "Ромашка" :

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

3. Регистрируемся на почту, на которую хотим получать оповещения.

3. Переходим в раздел "Checks" и нажимаем большую зелёную кнопку "Add Check".

5. Изменим имя этой проверки на OOO "Romashka" (DataServer, archiving). Это нужно сделать, чтобы мы понимали с чем именно связана эта проверка (архивация на сервере с именем DataServer в компании ООО "Ромашка"):

6. Укажем период проверки (архивация должна запускаться 1 раз в день, сам процесс архивации может занимать до 12 часов):

Второй ползунок (grace) это как раз допустимое превышение периода, то есть время, в течении которого может длиться процесс архивации.

Дополнительный лимит в 12 часов (grace) я указал намеренно, потому что обновлятор делает запрос к системе мониторинга в конце своей работы, а время окончания может варьироваться от различных условий.

Например, если мы настраиваем обновление по расписанию на запуск в 22-00, то сегодня это обновление может закончиться в 23-00, а уже завтра (вышло много новых обновлений) будет длиться до 4 утра.

Отсюда и дополнительный запас в 12 часов, чтобы не было ложных срабатываний от HealthChecks.

Результат настройки периода будет таким:

7. Но как видите поле Last Ping пустое (Never). Оно будет обновляться по мере обращения к этому адресу обновлятором при архивации. А если обращения не будет больше чем 1 день и 12 часов, то HealthChecks забьёт тревогу и оповестит нас на почту.

Чтобы запустить «Планировщик заданий», нажмите на кнопку «Пуск», находящуюся в левой нижней части рабочего стола. Далее в поисковую строку введите слово «планировщик» и нажмите кнопку «Enter» (В английской версии Windows вместо слова вводится команда tasksch.msc). Программу можно открыть и другим способом – нажатием по «Пуск», затем «Панель управления» (расширенный вид), далее «Администрирование» – «Планировщик заданий».

Теперь отыщите на правой стороне окна программы меню «Действия». На выбор в списке можно выбрать несколько способов создания задачи. Самыми распространенными являются «Создать задачу» и «Создать простую задачу». После этого в окне создания задачи введите описание и название новой задачи. Имеется также возможность активировать функцию «Выполнить с наивысшими правами», если конечно для запуска нужны права администратора.

Переключившись на вкладку «Триггеры», нажмите кнопку «Создать» и назначьте дату, частоту и время выполнения задачи. Для установления даты окончания выполнения задачи активируйте находящуюся рядом функцию «Срок действия», указав там время и дату.

Перейдя на вкладку «Действия», чтобы создать задачу, нажмите кнопку «Создать». Для того, чтобы программа выполнялась по выбранному расписанию, в раскрывшемся списке «Действие» выберите пункт «Запуск программы». Далее нажмите на кнопку «Обзор» и укажите путь до исполняемого файла. С файлами на этом все.

Запланированная отправка почты

Для запланированной отправки электронной почты в раскрывающемся списке «Действие» выберите пункт «Отправка электронной почты». Заполните стандартные поля: адрес и имя электронной почты, имя и адрес получателя, заголовок письма, текст сообщения. Кнопкой «Обзор» укажите местоположение отправляемого файла, если это необходимо. В поле «Сервер smtp» вставьте smtp-сервер своей электронной почты и затем нажмите на кнопку «Ок».

Вывод на экран запланированного сообщения

Чтобы вывести на экран запланированное по расписанию сообщение, в списке «Действие» выберите пункт «Вывод сообщения». Обязательны для заполнения поля «Сообщение» и «Заголовок». Здесь пользователя останавливает лишь фантазия. Это может быть напоминание покормить кошку, выключить , посетить какой-нибудь сайт в интернете. Имеется возможность установить условия выполнения поставленной задачи, для этого нажмите кнопку «Условия». Дополнительные настройки можно регулировать и на вкладке «Параметры».

Чтобы окончательно создать задачу, надо завершить все действия и нажать кнопку «Ок». Созданное задание можно изменить, для этого выделите задачу в списке, в правом меню нажмите кнопку «Свойства». Нажатием на кнопку «Ок» внесенные изменения сохраняются.

Удаление задачи и автозапуск планировщика

Для удаления запланированного задания надо открыть «Планировщик заданий», из списка выделить необходимую задачу, в правом меню нажать кнопку «Удалить». Чтобы при запуске Windows планировщик тоже запускался, в «Панели управления» выбирается «Администрирование», затем «Службы». В списке открыть «Планировщик заданий», двойной клик по нему, на вкладке «Общие» установить типа запуска «Авто», для применения изменений нажать «Ок».

Операционная система Linux позволяет планировать запуск, завершение или переход компьютера в режим сна в нужное вам время. Например, вы можете запланировать запуск компьютера утром и автоматическое выключение когда ложитесь спать.

Иногда это очень даже полезно, вы экономите время, в место того чтобы ждать пока загрузится операционная система, можно сразу садится и работать, и это просто удобно. Можно запланировать включение компьютера по расписанию, даже после завершения работы скрипта.

Планирование включения в Linux

В Linux для завершения работы или перехода в режим сна и планирования запуска, используется утилита rtcwake. Это встроенный в ядро инструмент, поэтому она уже есть во всех дистрибутивах и устанавливать ничего не придется. Синтаксис команды такой:

$ sudo rtcwake –m режим –s время

$ sudo rtcwake –m режим –t время

После выполнения команды компьютер сразу выключится. Параметр -s указывает количество секунд до запуска компьютера. Опция -m устанавливает режим выключения. Дело в том что компьютер выключается не полностью, он переходит в сон, при котором питание подается только на несколько самых важных компонентов. Эти компоненты и определяет режим, указанный в этом параметре. Доступные режимы:

  • standby (S1) – режим с минимальным энергосбережением, компьютер очень быстро засыпает и так же быстро восстанавливается. Этот режим используется по умолчанию;
  • mem (S3) – все компоненты системы отключаются кроме памяти;
  • disk (S4) – Все содержимое памяти записывается на диск;
  • off (S5) – Аналогично вызову команды shutdown;
  • on – без отключения, используется для отладки.

Например, следующая команда переводит компьютер в режим сна и планирует включение через 3 минуты:

rtcwake -m mem -s 180

Время запуска можно задавать не только в секундах от текущего момента, но и в формате полной даты и времени. Это делается с помощью опции -t , но эта опция принимает время в формате UNIX, поэтому сначала нужно преобразовать наше, обычное время, в этот формат с помощью date.

Например, давайте включим компьютер завтра в 13.00, допустим сегодня 10 сентября 2016. Сначала преобразуем данные:

date +%s -d "2016-09-11 13:00"

Выключаем компьютер и планируем запуск по расписанию:

rtcwake -m mem -t 1473541200

Чтобы запланировать выключение linux по расписанию или переход в режим сна будем использовать cron. Просто запланируйте выполнение команды rtcwake через crontab в нужное время для выключения компьютера и планирования последующего включения. Например, выполняем выключение компьютера linux вечером и выполнить запуск по расписанию linux с утра:

0 21 * * * /usr/bin/rtcwake –m mem –s 28800

Если вам не нужно включать компьютер, а только выключить, можете вместо предыдущей команды использовать shutdown:

0 21 * * * /usr/bin/shutdown -h now

Вот и все. Подробнее о том, как настраивается расписание задач в cron смотрите здесь.

Выводы

Теперь вы знаете как запланировать запуск, выключение или переход в режим сна в Linux. Это не сложно и в некоторых ситуациях может очень помочь. Если у вас остались вопросы, спрашивайте в комментариях!

Идея настроить компьютер так, чтобы он автоматически включался в заданное время, приходит в голову многим людям. Одни таким образом хотят использовать свой ПК в качестве будильника, другим необходимо запустить закачку торрентов в наиболее выгодное согласно тарифному плану время, третьи хотят запланировать установку обновлений, проверку на вирусы или другие подобные задачи. Какими способами можно осуществить эти желания, будет рассмотрено далее.

Способов, с помощью которых можно произвести настройку компьютера для автоматического включения, существует несколько. Это можно сделать с помощью средств, имеющихся в аппаратном обеспечении компьютера, методами, предусмотренными в операционной системе, или специальными программами от сторонних производителей. Разберем эти способы более подробно.

Способ 1: BIOS и UEFI

О существовании BIOS (Basic Input-Output System) слышали, наверное, все, кто хоть немного знаком с принципами работы компьютера. Она отвечает за тестирование и штатное включение всех компонентов аппаратного обеспечения ПК, и затем передает управление ними операционной системе. БИОС содержит в себе множество различных настроек, среди которых есть и возможность включения компьютера в автоматическом режиме. Оговоримся сразу, что данная функция присутствует далеко не во всех BIOS, а только в более или менее современных ее версиях.

Чтобы запланировать запуск своего ПК на автомате через БИОС, необходимо сделать следующее:


В настоящее время интерфейс BIOS считается уже устаревшим. В современных компьютерах ему на смену пришел UEFI (Unified Extensible Firmware Interface). Его основное предназначение такое же, как и у BIOS, но возможности гораздо шире. Пользователю намного проще работать с UEFI благодаря поддержке мыши и русского языка в интерфейсе.

Настройка автоматического включения компьютера с помощью UEFI осуществляется следующим образом:


Настройка автоматического включения с помощью BIOS или UEFI является единственным способом, который позволяет осуществить данную операцию на полностью выключенном компьютере. Во всех остальных случаях речь идет не о включении, а о выводе ПК из состояния гибернации или спящего режима.

Само собой разумеется, что для того чтобы автоматическое включение могло сработать, кабель питания компьютера должен оставаться включенным в розетку или ИБП.

Способ 2: Планировщик заданий

Настроить автоматическое включение компьютера можно и с помощью системных средств Windows. Для этого используется планировщик заданий. Рассмотрим как это делается на примере Windows 7.

В начале нужно разрешить системе автоматическое включение/выключение компьютера. Для этого необходимо в панели управления открыть раздел «Система и безопасность» и в разделе «Электропитание» перейти по ссылке «Настройка перехода в спящий режим» .


Затем в открывшемся окне перейти по ссылке «Изменить дополнительные параметры питания» .


После этого найти в списке дополнительных параметров «Сон» и там установить разрешение для таймеров пробуждения в состояние «Включить» .

Теперь можно настраивать расписание автоматического включения компьютера. Для этого необходимо сделать следующее:

  1. Откройте планировщик. Проще всего это сделать через меню «Пуск» , где находится специальное поле для поиска программ и файлов.

    Начните вводить в этом поле слово «планировщик», чтобы в верхней строке появилась ссылка для открытия утилиты.

    Чтобы открыть планировщик, достаточно кликнуть по ней левой кнопкой мыши. Его также можно запустить через меню «Пуск» — «Стандартные» — «Служебные» , или через окно «Выполнить» (Win+R) , введя туда команду taskschd.msc .
  2. В окне планировщика перейдите в раздел «Библиотека планировщика заданий» .

  3. В правой части окна выберите «Создать задачу» .

  4. Придумайте название и описание для новой задачи, например, «Автоматическое включение компьютера». В этом же окне можно настроить параметры, с которыми будет происходить пробуждение компьютера: пользователь, под которым будет осуществлен вход в систему, и уровень его прав.

  5. Перейдите во вкладку «Триггеры» и нажмите на кнопку «Создать» .

  6. Настройте периодичность и время автоматического включения компьютера, например, ежедневно в 7.30 утра.

  7. Перейдите во вкладку «Действия» и создайте новое действие по аналогии с предыдущим пунктом. Здесь можно настроить, что должно произойти при выполнении задачи. Сделаем так, чтобы при этом на экран выводилось какое-нибудь сообщение.

    При желании можно настроить другое действие, например, проигрывание аудиофайла, запуск торрента или другой программы.
  8. Перейдите во вкладку «Условия» и отметьте чекбокс «Пробуждать компьютер для выполнения задачи» . При необходимости поставьте остальные отметки.


    Этот пункт является ключевым при создании нашей задачи.
  9. Завершите процесс, нажав на клавишу «OK» . Если в общих параметрах был указан вход в систему под конкретным пользователем, планировщик попросит указать его имя и пароль.

На этом настройка автоматического включения компьютера с помощью планировщика завершена. Свидетельством правильности выполненных действий будет появление новой задачи в списке заданий планировщика.


Результатом ее выполнения будет ежедневное пробуждение компьютера в 7.30 утра и вывод на экран сообщения «С добрым утром!».

Способ 3: Программы сторонних производителей

Создать расписание работы компьютера можно и с помощью программ, созданных сторонними разработчиками. В какой-то мере все они дублируют функции системного планировщика заданий. Некоторые имеют значительно урезанный по сравнению с ним функционал, но компенсируют это легкостью в настройке и более удобным интерфейсом. Однако программных продуктов, способных выводить компьютер из спящего режима, существует не так уж и много. Рассмотрим некоторые из них подробнее.

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


Таким образом, включение/выключение компьютера будет запланировано независимо от даты.

Auto Power-on & Shut-down

Еще одна программа, с помощью которой можно включать компьютер на автомате. Русскоязычный интерфейс по умолчанию в программе отсутствует, но в сети можно найти для нее русификатор. Программа платная, для ознакомления предлагается пробная 30-дневная версия.


WakeMeUp!

Интерфейс данной программы имеет функционал, типичный для всех будильников и напоминалок. Программа платная, пробная версия предоставляется на 15 дней. К ее недостаткам следует отнести длительное отсутствие обновлений. В Windows 7 ее удалось запустить только в режиме совместимости с Windows 2000 с административными правами.


На этом можно закончить рассмотрение способов автоматического включения компьютера по расписанию. Приведенной информации достаточно, чтобы сориентировать читателя в возможностях решения данной проблемы. А какой именно из способов выбрать — решать ему самому.