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'.

В інших випадках команда додається у вигляді, в якому була вказана.

  1. Відкрийте розділ «Розклад завдань (cron)».
  2. Натисніть «Додати завдання».
  3. Заповніть форму і натисніть «Зберегти»:
    • «Завдання» — команда, яку потрібно запускати за розкладом. Після додавання рекомендуємо запускати її вручну, щоб переконатися в тому, що вона працює саме так, як задумано.
    • «Одночасний запуск» — що робити, якщо раніше запущений процес не встигає завершитися до запуску нового.
    • «Час запуску» — час запуску завдання. Скористайтеся однією з готових передустановок або вкажіть свій варіант. Примітка Для зручності використовуйте наш калькулятор 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, 2 і 3 годині.
  • 1-10 — інтервал значень. Для годин це запуск щогодини з 1 до 10.
  • * — будь-яке значення. Для хвилин це запуск щохвилини.

Всі додані завдання відображаються в списку:

  • «Час запуску» — розклад запуску завдання в стандартному форматі cron.
  • «Наступний запуск» — дата і час наступного спрацювання завдання за розкладом. Увага! Запуск в зазначений час може не відбутися, якщо з моменту додавання або зміни завдання пройшло менше 30-60 хвилин.
  • «Завдання» — повний текст команди, коментар до завдання і розклад запуску в людинозрозумілому вигляді.
  • «Звіт» — адреса електронної пошти, куди відправляються звіти про виконання завдання, або прочерк.
  • «Керування» — кнопки керування завданням:
    • «Призупинити виконання завдання» або «Відновити виконання завдання» — зупинити або відновити запуск завдання за розкладом.
    • «Тестовий запуск завдання» — запуск завдання вручну. Можна використовувати для перевірки роботи команди або її дострокового запуску до часу розкладу. Після запуску на сторінці з’явиться вікно консолі, де в реальному часі відображатиметься виведення команди в процесі роботи та результат її виконання.
    • «Редагувати» — зміна налаштувань завдання.
    • «Видалити» — видалення завдання.
Зміст