Работа с планировщиком задач (Cron)

Часто возникает необходимость выполнения каких-либо команд на сервере хостинга по расписанию. Чаще всего это запуск скрипта PHP. Произвести настройку соответствующего функционала можно в разделе «Планировщик (cron)» панели управления ISPmanager.
1-cron-menu

При переходе в него справа отобразятся уже настроенные задания.
2-list

Для создания нового задания необходимо в верхней панели инструментов нажать на кнопку «Создать» и заполнить открывшуюся форму.
3-new

  • «Время на сервере» – текущие дата и время сервера. Обратите внимание на разницу в часовых поясах между вашим локальным временем и временем сервера.
  • «Команда» – указывается полный путь до программы, которая должна выполняться автоматически с заданной периодичностью, и, если необходимо, набор аргументов.
  • «Период» задает периодичность выполнения задания:
  • «каждый час» – задание будет выполняться в 0 минут каждого часа.
  • «каждый день» – задание будет выполняться ежедневно ровно в 00:00.
  • «раз в неделю» – задание будет выполняться каждое воскресенье ровно в 00:00.
  • «раз в месяц» – задание будет выполняться первого числа каждого месяца ровно в 00:00.
  • «раз в год» – задание будет выполняться каждый год 1 января ровно в 00:00.
  • «при перезагрузке» – задание будет выполняться после каждой перезагрузки операционной системы.
  • «другое» – гибкая настройка периодичности с дополнительным набором полей. Возможны три варианта настройки настройки периодичности минут, часов, дней месяца, дней недели, месяцев и лет:
  • «Все» – задание будет выполняться каждую минуту (месяц и т.д.).
  • «Каждые» – задание будет выполняться с указанной периодичностью. Например, если вы укажете «10», то задание будет запускаться каждые 10 минут.
  • «Выбранные» – если вас не устраивают первые два варианта и вы знакомы с настройкой заданий cron, вы можете указать свои параметры выполнения заданий. Например, */10, 25, 35 означает, что задание будет выполняться каждые 10 минут, а также в 25 и 35 минут.
  • «Не посылать отчёт по e-mail» – установите флажок, чтобы вывод команды (stdout и stderr) не пересылался на адрес электронной почты, указанный в глобальных настройках планировщика.

Примеры гибкой настройки периодичности:
4-sample

Минуты = каждые — 15, часы = выбранные — 5, дни = все, месяцы = все, дни недели = все. Задание будет выполняться каждый день в 5:00, 5:15, 5:30 и 5:45.

5-s

Минуты = выбранные — 01, часы = выбранные — 15, дни = все, месяцы = все, дни недели = выбранные — 02. Задание будет выполняться в 15:01 каждый понедельник. День недели 01 соответствует воскресенью.

Рассмотрим более детально заполнение поля «Команда» на примере запуска скрипта PHP. Существует два подхода к решению данной задачи: прямой вызов интерпретатора и обращение к сайту по HTTP. В первом случае команда будет выглядеть так: «/usr/bin/php -q -f». А далее через пробел в кавычках следует указать полный путь к файлу PHP. Обратите внимание, что указывается именно полный путь. Так, например, если путь относительно домашнего каталога пользователя выглядит так: «~/www/transcervis.ru/letter.php». То полный путь для планировщика заданий будет таким: «/var/www/matri352/data/www/transcervis.ru/letter.php». Т.е. относительный путь необходимо предварять «/var/www/», далее между двумя слешами следует имя пользователя из панели управления ISPmanager, а уже в конце указывается путь относительно домашнего каталога.

Обратиться к сайту по HTTP можно путем запуска утилит wget или curl:
/usr/bin/wget -O — -q «http://transcervis.ru/letter.php»
/usr/bin/curl -s «http://transcervis.ru/letter.php»

Обратите внимание, что URL следует передавать также в кавычках.

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

6-conf

Если у Вас остались вопросы, обращайтесь в нашу службу поддержки — мы всегда рады помочь!