Планировщик CRON — запуск программ по расписанию

  1. Зачем нужен cron?
  2. Управление заданиями планировщика с помощью панели управления
  3. Примеры настройки заданий
    3.1. Запуск php-скриптов
    3.2. Запуск php-скриптов с параметрами
    3.3. Запуск shell-скриптов
  4. Примеры настройки времени выполнения
  5. Управление статусом заданий
  6. Как использовать конкретную версию php

1. Зачем нужен cron?

Планировщик заданий позволяет выполнять команды на сервере хостинга по расписанию.

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

Особенности планировщика заданий хостинга:

  • минимальный интервал выполнения заданий — 1 минута;
  • данные со стандартных потоков вывода (stdout) и ошибок (stderr) направляются на "пустое" устройство (/dev/null).

2. Управление заданиями планировщика с помощью панели управления

Для того чтобы создать новое задание:

1. Войдите в панель управления хостингом, используя свой номер договора и пароль.

2. Перейдите в раздел Планировщик заданий.

3. Нажмите кнопку Создать задачу в правом верхнем углу.

4. На следующей странице введите название задачи.

5. Установите время, когда должно выполняться задание. Примеры приведены в п.4 этой инструкции.

6. Выберите в поле Тип файла — Команда. При необходимости вы можете выбрать иной тип.

7. Выберите сайт для которого будет выполняться задание, при необходимости.

8. Заполните поле Путь к файлу или команда и нажмите кнопку Создать.


3. Примеры настройки команд

3.1. Запуск php-скриптов

Для запуска php-скрипта можно воспользоваться следующей командой:

cd $HOME/папка_сайта/docs/папка_скрипта/ && php $HOME/папка_сайта/docs/папка_скрипта/имя_скрипта.php

Здесь:

  • cd $HOME/папка_сайта/docs/папка_скрипта/ — переход в каталог, в котором размещен скрипт;
  • php — интерпретатор php;
  • $HOME/папка_сайта/docs/папка_скрипта/имя_скрипта.php — полный путь к скрипту.

3.2. Запуск php-скриптов с параметрами

wget -O - -q "http://nic.ru/cron.php?var1=xxx&var2=yyy"

Здесь:

  • wget — путь к программе wget,
  • http://nic.ru/cron.php?var1=xxx&var2=yyy — адрес скрипта с параметрами.

3.3. Запуск shell-скриптов

Для запуска shell-скрипта достаточно указать в качестве команды полный путь к скрипту:

/home/идентификатор/scripts/test.sh

Файл скрипта должен иметь атрибут исполнения.


4. Примеры настройки времени выполнения

Запуск задания раз в день

  • Час задаётся в пределах от 0 до 23.
  • Минута задаётся в пределах от 0 до 59.

Запуск задания раз в неделю

  • День недели задаётся в пределах от 1 (понедельник) до 7 (воскресенье).

Запуск задания раз в месяц

  • День месяца задаётся в пределах от 1 до 31.


5. Управление статусом заданий

Для выключения задания деактивируйте слайдер в поле Статус.

Для удаления задания перейдите к его настройкам и нажмите на кнопку Удалить.


6. Как использовать конкретную версию php

Если в cron нужно использовать конкретную версию php — можно сделать это, напрямую указав версию в команде вызова вместо использования короткого алиаса "php":

Пример для PHP 7.3

/usr/local/php73/bin/php

Пример для PHP 7.4

/usr/local/php74/bin/php

Пример для PHP 8.0

/usr/local/php80/bin/php

Пример для PHP 8.1

/usr/local/php81/bin/php

Всё ещё остались вопросы?