Особенности работы Cron на хостинге

15.08.2016 17.12.2021 на прочтение 4 минуты

Cron - это отличный инструмент, который сэкономит вам кучу времени  сил. С помощью  Cron заданий вы можете настроить автоматическое выполнение рутинных задач по работе с сервером. Возможности планировщика очень широки, можно налагодить большинство задач. Например, вы можете добавить удаление лог-файлов, которые со временем накапливаются и засоряют файловую систему занимая свободное место на диске. 

Вам необходимо делать периодически выполнять множество однообразных  действий и проверок? Тогда Cron станет просто незаменимым инструментом для Вашей работы.

 В данной статье рассмотрим особенности и возможности работы утилиты Cron (система для автоматического запуска программ и скриптов на сервере в определенное пользователем время), как добавить Cron  заадания через панель управление хосингом и многое другое.  

Принцип работы планировщика задач

 Cron - или как его еще называют планировщик задач, это демон,  который запускает указание пользователем задания с  определенной периодичностью. Другими словами, программа проверяет задание команды, начало старта и частоту выполнения и запускает скрипт на выполнение.

Cron является постоянно запущенным в фоновом режиме, ожидая команду которая запустит его. Для этого Cron  сканирует систему каждую минуту и проверяет необходимость выполнения действия в соответствии с файлами конфигурации. Также происходит проверка на наличие изменений в файлах конфигурации. Если изменения были, то cron вновь загружает обновленные файлы. Это гарантирует почти моментальное принятие любых изменений и добавлений в свои файлы.

Также в утилите есть функция отправки почтового сообщения-оповещения (можно  указывать любой  имейл с помощью аргумента MAILTO).

Все настройки вносятся через конфигурационный файл crontab, расположенный в каталоге crontab /etc/cron.*/. Также можно добавить через интерфейс панели управления хостингом, там упрощенная сама процедура, стоить просто заполнить поля и добавить команду. В сети интернет уже существует много готовых решений по той или иной задачи, достаточно лишь скопировать и вставить скрипт или просто немного подправить под себя.  

Редактировать файл crontab можно с помощью интерфейса панели управления  и используя специальный инструмент с таким же названием - crontab.

Из чего состоят конфигурации

Конфигурационный файл состоит из строк. Каждая строка описывает программу, которая будет запущена по расписанию. В каждой строке 6 полей. Поля имеют назначение:

  1. Минуты (0-59)
  2. Часы (0-23)
  3. День месяца (1-31)
  4. Месяц в году (1-12)
  5. День недели (0-6)
  6. Программа, которая будет запущена

Первые 5 полей  записаются следующими способами:

  1. Символом *
  2. Списком через запятую (1,2,3)
  3. Диапазоном через тире (1-31)
  4. Шагом значений диапазона (например */2 означает через_раз).

Обратите внимание, что все задания запускаются по времени часового пояса сервера, если ваш хостинг находится  в другой стране, нужно учитывать этот момент. 

Минимальный интервал составляет 1 минуту, но вы можете разбить ваш скрипт на более мелкие задание и сузить  интервал, сделать это сложнее но можно, на  практике редко необходимо.

Также нужно учесть, что на хостингах часто бывают установленные лимиты по количеству одновременно запущенных заданий, если планируете работать с крон, уточняйте все нюансы перед покупкой. 

Добавление через панель управление 

Многие панели имеет встроенный функционал по работе с планировщиками заданий, например, такие как ISPmanager и cPanel. Чтобы найти окно с найстроками следует выполнить несколько простых шагов:

  1.  Зайти в панель.
  2. С главной страници ищем меню Cron или планировщик. Переходим в данное меню, готово. 
  3. Дальше заполнем поле формы и сохранеем наш скрипт. 

В 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™ рада будет предоставить хостинг для любых Ваших сайтов!


Close Screen
Alla Rud
Статей: 1186
Оцените статью:


Спасибо за отзыв
Рейтинг: 5 из 5 Голосов: 4