Особливості роботи Cron на хостингу
Cron - це відмінний інструмент, який заощадить купу часу та сил. За допомогою Cron завдань ви можете налаштувати автоматичне виконання рутинних завдань роботи з сервером. Можливості планувальника дуже широкі, можна налагодити більшість завдань. Наприклад, ви можете додати видалення файлів, які згодом накопичуються і засмічують файлову систему, займаючи вільне місце на диску.
Вам необхідно періодично виконувати безліч одноманітних дій та перевірок? Тоді Cron стане просто незамінним інструментом для вашої роботи.
У цій статті розглянемо особливості та можливості роботи утиліти Cron (система для автоматичного запуску програм та скриптів на сервері у визначений користувачем час), як додати Cron завдання через панель управління хосингом та багато іншого.
Принцип роботи планувальника задач
Cron - або, як його ще називають, планувальник завдань, це демон, який запускає вказівку користувача завдання з певною періодичністю. Іншими словами, програма перевіряє завдання команди, початок старту та частоту виконання та запускає скрипт на виконання.
яка запустить його. Для цього Cron сканує систему щохвилини та перевіряє необхідність виконання дії відповідно до файлів конфігурації. Також відбувається перевірка наявності змін у файлах конфігурації. Якщо зміни були, cron знову завантажує оновлені файли. Це гарантує майже моментальне прийняття будь-яких змін та додавань до файлів.
Також в утиліти є функція надсилання поштового повідомлення (можна вказувати будь-який е-мейл за допомогою аргументу MAILTO).
Усі налаштування вносяться через конфігураційний файл crontab, розташований у каталозі crontab /etc/cron.*/. Також можна додати через інтерфейс панелі керування хостингом, там спрощена сама процедура, варто просто заповнити поля та додати команду. У мережі інтернет вже існує багато готових рішень щодо того чи іншого завдання, достатньо лише скопіювати та вставити скрипт або просто трохи підправити під себе.
З чого складаються зміни:
Конфігураційний файл складається із рядків. Кожен рядок описує програму, яку буде запущено за розкладом. У кожному рядку 6 полів. Поля мають призначення:
Хвилини (0-59)
Годинник (0-23)
День місяця (1-31)
Місяць року (1-12)
День тижня (0-6)
Програма, яка буде запущена
Перші 5 полів записуються такими способами:
- Символом *
- Списком через кому (1,2,3)
- Діапазоном через тире (1-31)
- Кроком значень діапазону (наприклад */2 означає через раз).
Мінімальний інтервал складає 1 хвилину, але ви можете розбити ваш скрипт на дрібніші завдання і звузити інтервал, зробити це складніше, але можна, на практиці рідко необхідно.
Також потрібно врахувати, що на хостингах часто бувають встановлені ліміти за кількістю запущених завдань, якщо плануєте працювати з крон, уточнюйте всі нюанси перед покупкою.
Додавання через панель керування
Деякі панелі мають вбудований функціонал роботи з планувальниками завдань, наприклад, такі як ISPmanager і cPanel. Щоб знайти вікно з налаштуваннями, слід виконати кілька простих кроків:
Зайти до панелі.
З головної сторінки шукаємо меню Cron або планувальник. Переходимо в це меню, готово.
Далі заповнюємо поле форми та зберігаємо наш скрипт.
Або ISPmanager:
Як зробити запуск php-скрипту із cron?
Рядок, який робить запуск має такий вигляд:
* * * * * /usr/local/bin/php /home/user/www/site1/public_html/script.php
Де:
- /usr/local/bin/php – веде до php-інтерпретатора (на різних серверах шлях може бути різним. Визначати потрібно за допомогою команди which php);
- /home/user/www/site1/public_html/script.php – шлях до скрипта необхідно вказувати від кореня сервера.
Як бачимо, подібний планувальник завдань дуже корисний для різноманітних завдань. Він чудово справляється із заданими цілями. Наприклад, його часто використовують для виконання бекапів сайту в один і той же час. Погодьтеся, це досить зручно.
Найчастіше використовувані та корисні команди в cron:
crontab -l – виведення списку поточних завдань у розкладі cron.
crontab -l > /home/crontab.backup – вивантаження списку поточних завдань у файл.
crontab /home/crontab.backup - завантаження списку завдань із файлу.
crontab -e – редагування списку задач.
crontab -r – очищення списку.
Також важливо пам'ятати про те, що cron не слідкує за виконанням поставлених Вами завдань, він лише запускає їх у роботу. У випадку, якщо команда не встигла відпрацювати до наступного запуску, cron також зробить наступний запуск команди. Синтаксис cron є досить простим і не складним у вивченні.
Звертайтесь, компанія HyperHost™ рада надати хостинг для будь-яких Ваших сайтів!