Особенности работы Cron на хостинге
Cron - это отличный инструмент, который сэкономит вам кучу времени сил. С помощью Cron заданий вы можете настроить автоматическое выполнение рутинных задач по работе с сервером. Возможности планировщика очень широки, можно налагодить большинство задач. Например, вы можете добавить удаление лог-файлов, которые со временем накапливаются и засоряют файловую систему занимая свободное место на диске.
Вам необходимо делать периодически выполнять множество однообразных действий и проверок? Тогда Cron станет просто незаменимым инструментом для Вашей работы.
В данной статье рассмотрим особенности и возможности работы утилиты Cron (система для автоматического запуска программ и скриптов на сервере в определенное пользователем время), как добавить Cron заадания через панель управление хосингом и многое другое.
Принцип работы планировщика задач
Cron - или как его еще называют планировщик задач, это демон, который запускает указание пользователем задания с определенной периодичностью. Другими словами, программа проверяет задание команды, начало старта и частоту выполнения и запускает скрипт на выполнение.
Cron является постоянно запущенным в фоновом режиме, ожидая команду которая запустит его. Для этого Cron сканирует систему каждую минуту и проверяет необходимость выполнения действия в соответствии с файлами конфигурации. Также происходит проверка на наличие изменений в файлах конфигурации. Если изменения были, то cron вновь загружает обновленные файлы. Это гарантирует почти моментальное принятие любых изменений и добавлений в свои файлы.
Также в утилите есть функция отправки почтового сообщения-оповещения (можно указывать любой имейл с помощью аргумента MAILTO).
Все настройки вносятся через конфигурационный файл crontab, расположенный в каталоге crontab /etc/cron.*/. Также можно добавить через интерфейс панели управления хостингом, там упрощенная сама процедура, стоить просто заполнить поля и добавить команду. В сети интернет уже существует много готовых решений по той или иной задачи, достаточно лишь скопировать и вставить скрипт или просто немного подправить под себя.
Редактировать файл crontab можно с помощью интерфейса панели управления и используя специальный инструмент с таким же названием - crontab.
Из чего состоят конфигурации
Конфигурационный файл состоит из строк. Каждая строка описывает программу, которая будет запущена по расписанию. В каждой строке 6 полей. Поля имеют назначение:
- Минуты (0-59)
- Часы (0-23)
- День месяца (1-31)
- Месяц в году (1-12)
- День недели (0-6)
- Программа, которая будет запущена
Первые 5 полей записаются следующими способами:
- Символом *
- Списком через запятую (1,2,3)
- Диапазоном через тире (1-31)
- Шагом значений диапазона (например */2 означает через_раз).
Обратите внимание, что все задания запускаются по времени часового пояса сервера, если ваш хостинг находится в другой стране, нужно учитывать этот момент.
Минимальный интервал составляет 1 минуту, но вы можете разбить ваш скрипт на более мелкие задание и сузить интервал, сделать это сложнее но можно, на практике редко необходимо.
Также нужно учесть, что на хостингах часто бывают установленные лимиты по количеству одновременно запущенных заданий, если планируете работать с крон, уточняйте все нюансы перед покупкой.
Добавление через панель управление
Многие панели имеет встроенный функционал по работе с планировщиками заданий, например, такие как ISPmanager и cPanel. Чтобы найти окно с найстроками следует выполнить несколько простых шагов:
- Зайти в панель.
- С главной страници ищем меню Cron или планировщик. Переходим в данное меню, готово.
- Дальше заполнем поле формы и сохранеем наш скрипт.
В cPanel.
В 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 довольно простой и не сложный в изучении.
Полезные команды Linux, которые необходимо знать подробнее тут.
Обращайтесь, компания HyperHost™ рада будет предоставить хостинг для любых Ваших сайтов!