2.11.2. Добавление задачи cron

Важные моменты:

  • cron не использует переменную PATH, поэтому указывайте полные пути к файлам не только при добавлении задачи, но и в самих запускаемых скриптах.
  • Если задача срабатывает исключительно при открытии страницы в браузере, запускайте её с помощью wget.
  • Если в задаче используется символ $ в качестве простого символа (не спецсимвола), добавляйте перед ним обратный слеш \.
  • Длина задачи не должна превышать 255 символов. Для запуска длинных команд помещайте их Bash-скрипт и запускайте его через cron.
При добавлении задачи все двойные кавычки в команде автоматически экранируются символом \. Это не влияет на работу команды и не видно в списке добавленных задач, но будет видно в консоли при тестовом запуске задачи и в теме письма с отчётом при запуске по расписанию.
  1. Откройте раздел «Расписание задач (cron)».
  2. Нажмите «Добавить задачу» вверху страницы.
  3. Укажите необходимые настройки и нажмите «Сохранить»:
    • «Задача» — укажите команду, которую нужно выполнять по расписанию. Рекомендуется предварительно запустить её вручную, чтобы убедиться в том, что она работает именно так, как задумано.
      При указании задачи в виде абсолютного пути к файлу:
      • Для файлов с расширением .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 на почту, укажите почтовый ящик, на который их нужно отправлять, если отчёты не нужны — оставьте поле пустым.
  4. Подождите примерно 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 остались неизменными.
Содержание