Как настроить запланированную задачу Cron

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

Как настроить выполнение скрипта в определенное время?

DirectAdmin

  1. Перейдите в личном кабинете в раздел “Хостинг – Мой хостинг” и нажмите “Открыть Direct Admin”;
  2. В новом окне откроется Direct Admin. Перейдите в раздел “Доп. возможности — Планировщик задач”;
  3. Нажмите на кнопку “Создать Cron Задачу”;
  4. В открывшемся окне укажите следующую информацию:
    • Минута — любое целое число от 0 до 59;
    • Час -любое целое от 0 до 23;
    • День месяца — любое целое от 1 до 31 (день должен быть корректным, если указан месяц);
    • Месяц — любое целое от 1 до 12;
    • День недели — любое целое от 0 до 7, где 0 или 7 означает Воскресенье;
    • command — команда, которая должны быть выполнена. Команда должна содержать путь к обработчику этой команды и путь к скрипту, который будет выполняться этим обработчиком;
  5. Кнопка “Не отправлять на E-Mail” добавит в конец указанной команды “>/dev/null 2>&1” и планировщик не будет высылать результат выполнения этой команды на ваш email;
  6. После указания всей необходимой информации нажмите на кнопку “Создать”. Готово.

Адрес исполняемого файла укажите в таком формате:

/usr/bin/php -f /home/логин/domains/имя_домена/public_html/скрипт.php

Пример команды запуска через wget утилиту:

/usr/bin/wget -t 1 -O - 'http://имя_домена/скрипт.php'

В разделе “Планировщик задач” также есть ссылка “Отправлять все результаты запуска Cron на E-Mail”. Этот функционал позволяет планировщику отправлять отчет о выполнении каждой задачи (как успешный, так и неуспешный, что позволит отследить ошибки выполнения). Нажмите на эту ссылку и укажите email в формате manager@domain.com. После сохранения почтового адреса планировщик станет отправлять на него отчеты о выполнении задач (кроме тех задач, в конце которых указана команда “>/dev/null 2>&1”).

cPanel

  1. Перейдите в личном кабинете в меню «Хостинг – Мой хостинг» и нажмите «Открыть cPanel»;
  2. В новом окне откроется cPanel. Перейдите в раздел “Расширенный — Запланированные задания”;
  3. В открывшемся окне, если есть необходимость, введите адрес в поле “Электронная почта” для получения сообщений от системы о результатах выполнения скрипта;
  4. Ниже укажите следующую информацию:
    • Общие параметры — периодичность выполнения задания. Выберите один из вариантов из выпадающего списка или укажите нужные параметры вручную;
    • Минута — любое целое число от 0 до 59;
    • Час -любое целое от 0 до 23;
    • День — любое целое от 1 до 31 (день должен быть корректным, если указан месяц);
    • Месяц — любое целое от 1 до 12;
    • День недели — любое целое от 0 до 7, где 0 или 7 означает воскресенье;
    • Команда — команда, которая должны быть выполнена. Команда должна содержать путь к обработчику этой команды и путь к скрипту, который будет выполняться этим обработчиком;
  5. После указания всей необходимой информации нажмите на кнопку “Добавить новое запланированное задание”.

Адрес исполняемого файла укажите в таком формате:

/usr/bin/php -f /home/логин/путь_к_скрипту/скрипт.php

Пример команды запуска через wget утилиту:

/usr/bin/wget -t 1 -O - 'http://имя_домена/скрипт.php'

Использование звездочки (*) в полях при настройке означает, что не имеет значения, что это за значение. Работа выполняется, когда дата и время на сервере соответствуют всем указанным значениям. Любое значение со звездой (*) будет соответствовать по умолчанию.

Отключить уведомления на почтовый адрес можно добавив » > /dev/null 2>&1″ в конце задания.

ISPmanager

  1. Перейдите в личном кабинете в меню «Хостинг – Мой хостинг» и нажмите «Открыть ISPmanager»;
  2. В новом окне откроется ISPmanager. Перейдите в раздел “Главное — Планировщик”;
  3. Нажмите на кнопку “Создать”;
  4. Заполните поля:
    • Адрес e-mail — для получения сообщений от системы о результатах выполнения скрипта;
    • Команда — команда, которая должны быть выполнена. Команда должна содержать путь к обработчику этой команды и путь к скрипту, который будет выполняться этим обработчиком;
    • Описание — укажите подсказку в виде описания;
    • Расписание  — выберите тип расписания и в оставшихся полях задайте периодичность выполнения задания. Базовый режим позволяет выбрать настройку из предложенных вариантов, экспертный — позволяет выбирать более точные значения;
    • Не отправлять отчёт по e-mail — установите флажок, чтобы вывод команды не пересылался на адрес электронной почты, указанный в  настройках планировщика;
  5. По окончанию нажмите кнопку “Ok”.

Адрес исполняемого файла укажите в таком формате:

/usr/bin/php /var/www/логин/data/www/имя_домена/скрипт.php

Пример команды запуска через wget утилиту:

/usr/bin/wget -t 1 -O - 'http://имя_домена/скрипт.php'

Plesk

  1. Перейдите в личном кабинете в меню «Хостинг – Мой хостинг» и нажмите «Открыть Plesk»;
  2. Перейдите в раздел “Сайты и домены — Планировщик задач”;
  3. Нажмите на кнопку “Добавить задачу”;
  4. Выберите тип задачи:
    • Выполнить команду — в поле “Команда” введите команду для запуска, которая должна выполняться;
    • Получить URL-адрес — в поле “URL-адрес” укажите URL-адрес, где находится скрипт, при этом команду вводить не нужно;
    • Выполнить PHP-скрипт — в поле “Путь к скрипту” укажите путь к скрипту относительно папки виртуального сервера. Можно нажать значок папки, чтобы быстро найти файл скрипта. Также, выберите из списка нужную версию PHP;
  5. Следующие поля одинаковы для всех типов задач:
    • Запустить — выберите периодичность выполнения задания и назначьте время исполнения;
    • Описание — укажите подсказку в виде описания;
    • Уведомлять — выберите тип уведомлений;
  6. По окончанию изменений нажмите кнопку “ОК”.

Также, прежде чем сохранить задачу, есть возможность запустить ее в тестовом режиме, чтобы проверить, что она настроена верно. Нажмите “Запустить сейчас” и дождитесь окончания задачи. Если задача завершается с ошибкой, ошибка будет происходить и при выполнении задачи планировщиком, пока вы не найдете и не устраните проблему.

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

 


Как правильно указывать время выполнения в планировщике Cron?

  • Для каждого параметра времени можно указать звездочку (*), что означает все допустимые значения. Например, если поставить звёздочку в значении месяца, команда будет выполняться каждый месяц во время, указанное другими параметрами;
  • Дефис (-) между целыми числами обозначает диапазон чисел. Например, 1-4 означает целые числа 1, 2, 3 и 4;
  • Список значений, разделенных запятыми (,), обозначает перечень. Например, перечисление 3,4,6,8 означает четыре указанных целых числа (перечислять нужно без пробелов);
  • Косая черта (/) используется для определения шага значений в конкретном диапазоне значений. Например, значение минут 2-19/3 показывает, что команда будет выполняться каждую третью минуту в диапазоне 2-19 минут (эквивалент 2,5,8,11,14,17). В качестве диапазона значений также может быть указана звёздочка, что будет означать каждое значение во всем диапазоне. Например, значение минут */10 показывает, что команда будет выполняться каждую десятую минуту (эквивалент 0,10,20,30,40,50);
  • Все указанные методы можно комбинировать, что позволит более точно настроить время выполнения. Например значение минут можно указать как 1,5,11-15,30-39/2 и это будет означать 1,5,11,12,13,14,15,30,32,34,36,38 минуту;

Примеры готовых задач

Каждый день запускать perl скрипт в 16:10 и отправлять результат на почту:

10 16 * * * /usr/bin/perl  /home/username/bin/yourscript.pl

В каждую субботу в 2:00 запускать bash скрипт и отправлять на почту только ошибки:

0 2 * * 6 /home/username/weekly/weekly-pruning.sh >/dev/null

Раз в час выполнять php скрипт и не отправлять никаких сообщений на почту:

0 * * * * /usr/bin/php /home/username/cron.php >/dev/null 2>&1
5/5 - (1 голос)
Поделитесь статьей
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
In this article