Управление файлами cookie, которые используются для рекламы, таких как персонализация рекламы, ремаркетинг и анализ эффективности рекламы.
2.12.2. Добавление задачи cron
Важные моменты:
- cron не использует переменную
PATH, поэтому используйте полные пути к файлам не только при добавлении задачи, но и в самих запускаемых скриптах. - Для запуска скриптов, которые срабатывают исключительно при обращении к ним через браузер, используйте wget.
- Если в задаче есть команда
cd, добавьте перед ней командуpwd(например,pwd; cd /path/to/dir/), иначе будет возникать ошибка «nice: ‘cd’: No such file or directory». - При использовании в команде символа
$как простого символа (не спецсимвола) добавляйте перед ним обратный слеш\. - Двойные кавычки
"автоматически экранируются обратным слешем\. Это не влияет на работу команды и не видно в списке добавленных задач, но будет видно в консоли при тестовом запуске задачи и в теме письма с отчётом при запуске по расписанию. - Задача должна быть длиной не более 240 символов и не должна состоять из более чем 15 разделённых пробелами частей (например,
sleep 30это 2 части). Для запуска длинных команд помещайте их в Bash-скрипт и запускайте его через cron.
Добавление
Автоматическое изменение команды при сохранении задачи
Когда команда указана:- В виде абсолютного пути к файлу:
- С расширением
.phpв каталоге одного из добавленных сайтов — добавляется путь к интерпретатору PHP такой же версии, как на сайте, и путь к конфигурационному файлу PHP этого сайта. Например, задача/home/example/example.com/www/script.phpпри добавленном сайте www.example.com с установленной версией PHP 8.4 превратится в/usr/local/php84/bin/php -c /home/example/.system/php/www.example.com.ini /home/example/example.com/www/script.php. - С расширением
.py— добавляется путь к интерпретатору Python последней доступной версии вида/usr/bin/python3.12. - С расширением
.sh— добавляется путь к интерпретатору Bash/usr/bin/sh. - С расширением
.pl— добавляется путь к интерпретатору Perl/usr/bin/perl.
- В виде URL — формируется стандартная команда wget вида
/usr/bin/wget -O - -q -t 1 'URL'.
В остальных случаях команда добавляется в том виде, в котором была указана.
- Откройте раздел «Расписание задач (cron)».
- Нажмите «Добавить задачу».
- Заполните форму и нажмите «Сохранить»:

- «Задача» — команда, которую нужно запускать по расписанию. После добавления рекомендуем запускать её вручную, чтобы убедиться в том, что она работает именно так, как задумано.
- «Не пытаться найти нужный обработчик для указанной команды и запускать как есть» — отключает автоматическое изменение команды при сохранении (см. примечание выше).
- «Одновременный запуск» — что делать, если запущенный ранее процесс не успевает завершиться до запуска нового:
- «Не запускать новый процесс, если предыдущий ещё работает (по умолчанию)» — запущенный процесс продолжит работать, новый запущен не будет.
- «При запуске нового процесса останавливать предыдущий» — запущенный процесс будет остановлен и запустится новый процесс.
- «Время запуска» — время запуска задачи. Воспользуйтесь одной из готовых предустановок или укажите свой вариант. Примечание Для удобства используйте наш Калькулятор cron (кнопка «Помощь в настройке») или сторонние сервисы, вроде crontab guru.
- «Комментарий» — произвольный комментарий к задаче. Используется для удобства, когда добавлено много задач.
- «Отправлять отчёты о работе скрипта на email» — если включено, на указанную почту будут отправляться отчёты о выполнении задач cron.
- «Отправлять отчёт, если работа скрипта была завершена принудительно при старте нового» — если включено, на указанную почту будут отправляться отчёты об остановке запущенных процессов (доступно при выборе «При запуске нового процесса останавливать предыдущий»). ⚠️ Отчёты отправляются не чаще 1 раза в сутки для каждой задачи.
- «Email для отчётов» — почтовый ящик для получения отчётов (доступно при включённой отправке отчётов).
- Подождите примерно 30-60 минут, пока изменения вступят в силу.
Синтаксис времени запуска
Для указания времени запуска в cron используется специальный синтаксис. Элементы синтаксиса можно комбинировать между собой, разделяя их запятой, например: */30, 1-10, 53 — запуск задачи будет производиться в: 00, 01 и все числа до 10, 30, 53.
*/X— запуск задачи во время, кратное указанному в X.*/20для минут это запуск на 00, 20 и 40 минуте.1,2,3— конкретные значения через запятую. Для часов это запуск в 1, 2 и 3 час.1-10— интервал значений. Для часов это запуск каждый час с 1 до 10.*— любое значение. Для минут это запуск каждую минуту.
Список добавленных задач
Все добавленные задачи отображаются в списке:
- «Расписание» — расписание запуска задачи в стандартном формате cron, в подсказке при наведении выводится в человекопонятном виде.
- «Задача» — состоит из нескольких строк:
- Полный текст команды.
- Комментарий к задаче (если указан).
- В последней строке:
- Почта для получения отчётов о выполнении (если указана).
- Дата и время последнего запуска по расписанию (обновляется с задержкой в несколько минут).
- Продолжительность последнего выполнения (если меньше 2 секунд, то выводится с миллисекундами).
- Код завершения команды:
- Для кода
0— «OK», в остальных случаях — «Error» и код ошибки. - Информацию о том, что означает тот или иной код ошибки, следует искать в документации к запускаемой команде, а при запуске собственного скрипта — смотреть логику этого скрипта, т. к. он может возвращать собственные коды.
- По нажатию на кнопку с кодом ошибки можно посмотреть последние 50 строк или 2,5 КБ вывода команды.
- «Управление» — кнопки управления задачей:
- ✏️ — изменить настройки задачи (аналогично добавлению).
- ▶️/⏸️ — включить/отключить запуск задачи по расписанию.
- ⚡️ — запустить задачу вручную. Можно использовать для проверки работы команды или её досрочного запуска до наступления времени по расписанию. После запуска на странице появится окно консоли, где в реальном времени будет отображаться вывод команды в процессе работы и результат её выполнения (в Python по умолчанию используется буферизация и данные выводятся блоками по 8 КБ или после завершения работы команды, для вывода в реальном времени в команде нужно использовать ключ
-u, напримерpython3.10 -u file.py). Не обновляет дату и время последнего запуска в списке задач. - ❌ — удалить задачу.
(6)