2.11.2. Добавление задачи cron
Важные моменты:
- cron не использует переменную
PATH
, поэтому указывайте полные пути к файлам не только при добавлении задачи, но и в самих запускаемых скриптах. - Если задача срабатывает исключительно при открытии страницы в браузере, запускайте её с помощью wget.
- Если в задаче используется символ
$
в качестве простого символа (не спецсимвола), добавляйте перед ним обратный слеш\
. - Длина задачи не должна превышать 255 символов. Для запуска длинных команд помещайте их Bash-скрипт и запускайте его через cron.
При добавлении задачи все двойные кавычки в команде автоматически экранируются символом
\
. Это не влияет на работу команды и не видно в списке добавленных задач, но будет видно в консоли при тестовом запуске задачи и в теме письма с отчётом при запуске по расписанию.
- Откройте раздел «Расписание задач (cron)».
- Нажмите «Добавить задачу» вверху страницы.
-
- «Задача» — укажите команду, которую нужно выполнять по расписанию. Рекомендуется предварительно запустить её вручную, чтобы убедиться в том, что она работает именно так, как задумано.При указании задачи в виде абсолютного пути к файлу:
- Для файлов с расширением
.php
и без расширения:- Если скрипт находится в каталоге сайта — после сохранения в начало команды автоматически добавится путь к интерпретатору установленной на сайте версии PHP и путь к конфигурационному файлу PHP для этого сайта. Например, задача
/home/example/example.com/www/script.php
при добавленном сайте www.example.com с установленной версией PHP 8.1 превратится в/usr/local/php81/bin/php -c /home/example/.system/php/www.example.com /home/example/example.com/www/script.php
. - Если скрипт находиться вне каталогов сайтов — после сохранения в начало команды автоматически добавиться путь к стандартному интерпретатору. Например, задача
/home/example/script.php
превратится в/usr/local/bin/php /home/example/script.php
.
- Для файлов с расширением
.sh
— добавляется путь к интерпретатору Bash/bin/sh
. - Для файлов с расширением
.pl
— добавляется путь к интерпретатору Perl/usr/bin/perl
. - Для файлов с расширением
.sql
— добавляется путь к утилите mysqldump/usr/local/mysql/bin/mysqldump
.
Во всех остальных случаях задача добавляется в том виде, в котором была указана.
- «Одновременный запуск» — выберите поведение для ситуации, когда запущенный ранее процесс не успевает завершиться до запуска нового.
- «Время запуска» — укажите время, когда должна запускаться задача. Воспользуйтесь одной из готовых предустановок или укажите свой вариант. Примечание В подборе и проверке своего варианта поможет «Помощь в настройке», которая открывает наш калькулятор cron, либо используйте сторонние сервисы, вроде crontab guru.
- «Комментарий» — если нужно, укажите произвольный комментарий к задаче. Используется для удобства. Комментарии могут быть полезны при большом количестве добавленных задач.
- «Отправлять отчет о на email» — если хотите получать отчёты о выполнении задач cron на почту, укажите почтовый ящик, на который их нужно отправлять, если отчёты не нужны — оставьте поле пустым.
- Подождите примерно 30-60 минут, пока изменения вступят в силу.
Синтаксис времени запуска
Для указания времени запуска Cron задач используется определенный синтаксис для каждого значения указываемого времени. Элементы синтаксиса можно комбинировать между собой, разделяя их запятой, например: */30, 1-10, 53
— запуск задачи будет производиться в: 00, 01 и все числа до 10, 30, 53.
*/X
— запуск задачи во время, кратное указанному в X. Например указание*/20
для секунд и минут будет запускать задачу в такие значения: 00, 20, 40.1,2,3
— перечисление нужных значений через запятую.1-10
— указание интервала нужных значений, в примере будут использованы все числа от 1 до 10.*
— любое значение.
Список добавленных задач
Все добавленные задачи отображаются в списке:
- «Время запуска» — расписание запуска задачи в стандартном формате cron.
- «Следующий запуск» — дата и время следующего срабатывания задачи по расписанию. Внимание! Запуск в указанное время может не состояться, если с момента добавления или изменения задачи прошло менее 30-60 минут.
- «Задача» — полный текст команды, комментарий к задаче и расписание запуска в человекопонятном виде.
- «Отчёт» — адрес почты, куда отправляются отчёты о выполнении задачи, или прочерк.
- «Управление» — кнопки управления задачей:
- «Приостановить выполнение задачи» или «Восстановить выполнение задачи» — остановить или возобновить запуск задачи по расписанию.
- «Тестовый запуск задачи» — запуск задачи вручную. Можно использовать для проверки работы команды или её досрочного запуска до наступления времени из расписания. После запуска на странице появится окно консоли, где в реальном времени будет отображаться вывод команды в процессе работы и результат её выполнения.
- «Редактировать» — изменение настроек задачи.
- «Удалить» — удаление задачи.
Видео
В видео показана старая форма добавления задачи, но общие принципы работы cron остались неизменными.