Планировщик задач windows server 2012 r2

Настройка запуска Cron Moodle в Windows Server 2012R2

Планировщик задач windows server 2012 r2
Дано: система электронного обучения LMS Moodle установлена в IIS на Windows Server 2012 R2.
Задача: настроить периодический запуск специального файла cron.

php

Что такое cron в Moodle и почему он важен? Это специальная сервисная процедура, которая обслуживает процессы, происходящие в системе мудл, такие как очистка данных, резервирование, отправка оповещений и т.п.

Если ее не запускать, то нормальная работа система может быть нарушена.

Если крон не запускался более суток, то администратор увидит об этом сообщение, если перейдет в административном меню по ссылке “Уведомления“:

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

Крон может запускаться как из браузера, так и прямым доступом к его файлу: cron.php.

Например, можно проверить работу крона перейдя по адресу:

/admin/cron.php

Если при переходе по данному адресу появилось сообщение: “!!! Извините, доступ к этой странице через интернет заблокирован администратором. !!!”, то значит возможность запуска крона из браузера заблокирована.

Желательно, чтобы возможность запуска крона из браузера была отключена в целях безопасности. Чтобы это сделать, в административном меню Moodle переходим:

/ Администрирование

/ Безопасность
/ Политика безопасности сайта
На открывшейся странице находим и устанавливаем параметр “Запуск cron только из командной строки (cronclionly)“Если этот параметр установлен, то cron может быть запущен только из командной строки, а не через веб-интерфейс. Теперь необходимо настроить запуск крона из командной строки.

На странице официальной документации – https://docs.moodle.org/29/en/Cron_with_Windows_OS как самый быстрый способ настройки – предлагают установить специальную утилиту, которая создаст службу в системе Windows. Однако данная служба будет запускать крон из браузера, а мы эту возможность отключили. Поэтому способ не подходит.

Запуск крона будем настраивать через стандартный планировщик системы Windows – Task Scheduler.

Предварительно создайте пользователя в системе, например, usercron. Его учетную запись будем использовать для запуска процесса крона. Для создания системного профиля один раз заходим под этим пользователем в систему.

Также даем право modify данному пользователю на папку с данными Moodle.Далее создаем bat-файл (например, cron.bat) со следующим содержимым (скриптом):
@echo offset PathPHP=”C:\Program Files (x86)\PHP\v5.6\php.exe”set PathCron=”C:\inetpub\moodle\admin\cli\cron.php”set PathLOG=”D:\Logs\cronlogs” %PathPHP% -f %PathCron% >> %PathLOG%\%date:~10,4%%date:~4,2%%date:~7,2%.log Forfiles /P %PathLOG% /S /M *.log /D -5 /C “cmd /c del /q @path” В данном скрипте необходимо правильно задать пути:

PathPHP – путь к запускному файлу php (его можно посмотреть по кнопке PHP Manager в IIS)

PathCron – абсолютный путь к файлу крона: \admin\cli\cron.php
PathLOG – любое место, куда будут записываться логи крона Данный скрипт запускает крон по указанному пути, результат его работы записывает в лог-файл, а также удаляет логи старше 5 дней. Для проверки можно запустить данный скрипт от имени созданного ранее пользователя, чтобы заранее выявить возможные ошибки. При отработке крона в логах можно обнаружить такую ошибку:

Fatal error: $CFG->dataroot is not writable, admin has to fix directory permissions! Exiting.

Это означает, что пользователю usercron не заданы права записи на Moodle-папку для хранения данных. Задайте права, если Вы забыли это сделать.

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

Открываем встроенный планировщик Windows (Task Scheduler) и добавляем новую задачу:

На вкладке General новой задачи задаем поля имени задачи.
В блоке Security options нажимаем “Change User…” и указываем ранее созданного пользователя (usercron), задавая таким образом пользователя для запуска задачи.
Также выбираем параметр “Run whether user is logged on or not“, чтобы задача выполнялась всегда, не зависимо от того, залогинен наш пользователь или нет.
Конфигурацию указываем – Windows Server 2012 R2:
На вкладке Триггеры (Triggers) нужно будет задать периодичность запуска задачи. Нажимаем кнопку New и настраиваем расписание запуска (я поставила на каждые 10 минут):
На вкладке Действия (Action) задаем, что нужно сделать.  Нажимаем кнопку New и выбираем “Start a program“, а в поле “Program/script” указываем путь к только что созданному bat-файлу:
На вкладке Условия (Conditions) оставляем всё по умолчанию:
Настраиваем под себя вкладку Настройки (Settings): После нажатия на ОК попросят ввести пароль указанного ранее пользователя, а затем может возникнуть сообщение:

This task requires that the user account specified has Log on as batch job rights

Это означает, что пользователю необходимо предоставить право регистрироваться для запуска пакета команд. Если проигнорировать это сообщение, то при запуске задания будет возникать ошибка:

Task Scheduler failed to start “\Moodle Cron Service” task for user “ServerName\usercron”. Additional Data: Error Value: 2147943785.

Нам нужно предоставить дополнительные привилегии для нашего пользователя (usercron). Для того запускаем в системе оснастку Local Security Policy:

В открывшемся окне находим ветку “Local Policies – User Rights Assignment“:
Открываем настройку “Log on as a batch job” и к уже имеющемуся списку пользователей добавляем нашего usercron (по кнопке Add User or Group): После этого запускаем нашу задачу в планировщике. По лог-файлам  можно отследить ход выполнения процедуры cron. Через 5 дней желательно проверить, что старые логи удаляются, согласно заданному скрипту.

См. также Установка Moodle на Windows Server 2012 R2 и IIS

Источник: https://www.e-du.ru/2015/09/moodle-cron-windows.html

Планировщик заданий windows server 2012

Планировщик задач windows server 2012 r2

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

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

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

Роб Грейвилл – основатель сайта GravelleConsulting.com, создает системы для коммерческих и правительственных организаций Канады

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

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

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

Времена изменились

Было время, когда планировщик задач считался примитивным и непригодным для настройки, в сравнении с демоном-планировщиком задач cron в операционных системах Unix и Linux. Современный планировщик задач отличается гибкостью настроек и широкими возможностями. Поэтому прежде чем обращаться к сторонним утилитам, выясните, нет ли нужных функций в планировщике задач.

В предлагаемой статье рассматривается операционная система Windows Server 2008. В других операционных системах, в частности Windows 7, могут быть небольшие отличия, однако планировщик задач функционирует в основном так, как описано здесь.

Основы планировщика задач

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

Для запуска планировщика задач требуются административные полномочия. Можно использовать панель управления, команду Manage или taskschd.msc. На экране 1 показан вид планировщика задач после первого запуска.

Экран 1. Планировщик задач

Создание новой задачи

Существует три способа подготовить новую задачу:

* создать простую задачу;

* создать более сложную задачу;

Пункт меню Create Basic Task подойдет для задач, не требующих сложных настроек, например ограничений времени задач или числа повторений. Запланировать запуск Microsoft Outlook при старте компьютера можно следующим образом.

  1. Нажмите кнопку Action на панели меню, а затем щелкните Create Basic Task.
  2. Введите имя задачи (в данном примере Launch Outlook) и необязательное описание, а затем нажмите кнопку Next.
  3. Задачу можно выполнять

* на календарной основе (каждый день, неделю, месяц или только один раз);

* при типовых повторяющихся событиях, таких как запуск компьютера или регистрация в системе;

* при определенных событиях, например при регистрации указанного события.

Перейдите на вкладку Triggers и нажмите кнопку New.

4. Из раскрывающегося списка Begin the task выберите пункт At log on.

5. Выберите 1 минуту или 2 минуты из списка Delay task for, чтобы успеть выполнить другие задачи, сопутствующие запуску компьютера. О преимуществах этого решения будет рассказано ниже.

6. Проверьте, установлен ли флажок Enabled, а затем нажмите кнопку OK, чтобы закрыть диалоговое окно New Trigger.

7. На экране Action (см. экран 2) следует выбрать одно из трех действий:

* отправить сообщение по электронной почте;

Экран 2. Запуск действия программы

Выберите пункт Start a program и нажмите кнопку Next.

8. На экране Start a Program нажмите кнопку Browse и найдите файл outlook.exe. В Windows 7 этот файл располагается в одном из следующих мест:

* 64-разрядная Windows — C:program filesmicrosoft officeoffice14

* 32-разрядная Windows — C:program files (x86)microsoft officeoffice14

9. Нажмите кнопку Next для перехода к экрану Finish.

10. На экране Finish приведены сводка сведения о задаче и флажок для показа дополнительных вариантов после ее создания. Щелкните Finish, чтобы создать задачу, которая вносится в список Active Tasks.

Запуск задач по требованию

В окне Active Tasks можно дважды щелкнуть любую запланированную задачу, чтобы открыть ее свойства. Любую задачу можно выполнить по требованию, таким образом ее можно запускать для удобства, тестирования или отладки (последнее может быть отчасти встроенной функцией). Для запуска задач по требованию используется следующая процедура.

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

Экран 3. Команда Run

-Щелкните пункт Run для запуска задачи. Остановить процесс можно нажатием кнопки Stop.

Изменение существующей задачи

Отменить задачу можно из меню Selected Item. Чтобы удалить выбранную задачу, используйте кнопку Delete.

На центральной панели показаны свойства выбранной задачи. Однако эти свойства доступны только для чтения. Для доступа к этой информации в редактируемой форме щелкните Properties в разделе Selected Item. Откроется окно Properties с более тонкими возможностями управления триггерами, действиями, условиями и параметрами задачи, как показано на экране 4.

Экран 4. Вкладка Task Settings

Далее в статье речь пойдет об этих параметрах и их использовании для организации более сложных задач, таких как:

Источник: https://blackrock-sochi.ru/planirovshhik-zadanij-windows-server-2012/

Поделиться:
Нет комментариев

    Добавить комментарий

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.