Керування файлами 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)