2.11.2. Додавання завдання cron

Важливі моменти:

  • Якщо в задачі зазначений просто шлях до файлу PHP, автоматично використовуються настройки PHP сайту, в каталозі якого він розміщений, якщо додатково вказано шлях до інтерпретатора PHP - налаштування PHP не використовуються. наприклад:
    • Завдання вказана як /home/example/example.com/sub/script.php — скрипт script.php запускається з настройками PHP сайту sub.example.com.
    • Завдання вказана як /usr/local/php72/bin/php /home/example/example.com/sub/script.php — скрипт script.php запускається без використання налаштувань PHP сайту sub.example.com.
  • Оскільки cron не використовує змінну PATH, потрібно вказувати повні шляхи до файлів не тільки при додаванні завдання, але і в самих запускаються скрипти.
  • Якщо завдання спрацьовує виключно при відкритті сторінки в браузері, то слід запускати її за допомогою використання wget.
  • Довжина завдання не повинна перевищувати 255 символів. Для запуску довгих команд пишіть Bash-скрипт і запускайте через cron його.
  1. Відкрийте розділ «Розклад завдань (Cron)».
  2. Вгорі сторінки натисніть «Додати завдання».
  3. Вкажіть необхідні настройки і натисніть «Зберегти»:
    • «Завдання» - вкажіть команду, яку потрібно виконувати за розкладом. Рекомендується попередньо запустити її вручну, підключившись по SSH, Щоб переконатися в тому, що вона працює саме так, як задумано.
    • «Одночасний запуск» — виберіть поведінку для ситуації, коли запущений процес не встигає завершитися до запуску нового.
    • «Час запуску» - вкажіть час, коли повинна запускатися завдання. Скористайтеся однією з готових предустановок або вкажіть свій варіант. Примітка У підборі та перевірці свого варіанту допоможе «Допомога в налаштуванні», Яка відкриває наш калькулятор 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 залишилися незмінними.
Зміст