2.12.2. Додавання завдання cron
Важливі моменти:
- cron не використовує змінну
PATH
, тому використовуйте повні шляхи до файлів не тільки при додаванні завдання, але й у самих скриптах, що запускаються. - Для запуску скриптів, які спрацьовують виключно при зверненні до них через браузер, використовуйте wget.
- При використанні у команді символу
$
як простого символу (не спецсимволу) додавайте перед ним зворотний сліш\
. - Подвійні лапки
"
автоматично екрануються зворотним слешем\
. Це не впливає на роботу команди і не видно в списку доданих завдань, але буде видно в консолі при тестовому запуску завдання та темі листа зі звітом при запуску за розкладом. - Довжина завдання не повинна перевищувати 255 символів. Для запуску довгих команд поміщайте їх у Bash-скрипт і запускайте через 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
. - З розширенням
.py
— додається шлях до інтерпретатора Python останньої доступної версії виду/usr/bin/python3.10
. - З розширенням
.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. Залишіть поле порожнім, якщо звіти не потрібні.
- Зачекайте приблизно 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.
- «Наступний запуск» — дата і час наступного спрацювання завдання за розкладом. Увага! Запуск в зазначений час може не відбутися, якщо з моменту додавання або зміни завдання пройшло менше 30-60 хвилин.
- «Завдання» — повний текст команди, коментар до завдання і розклад запуску в людинозрозумілому вигляді.
- «Звіт» — адреса електронної пошти, куди відправляються звіти про виконання завдання, або прочерк.
- «Керування» — кнопки керування завданням:
- «Призупинити виконання завдання» або «Відновити виконання завдання» — зупинити або відновити запуск завдання за розкладом.
- «Тестовий запуск завдання» — запуск завдання вручну. Можна використовувати для перевірки роботи команди або її дострокового запуску до часу розкладу. Після запуску на сторінці з’явиться вікно консолі, де в реальному часі відображатиметься виведення команди в процесі роботи та результат її виконання.
- «Редагувати» — зміна налаштувань завдання.
- «Видалити» — видалення завдання.