Cron — планировщик задач в UNIX-подобных операционных системах, использующийся для выполнения заданий в соответствии с заданным временем. Crontab — файл, содержащий задания для cron. При помощи редактирования crontab можно настроить запуск определенного задания с необходимой периодичностью. В условиях виртуального хостинга редактирование crontab возможно только из раздела «Crontab» панели управления. Оглавление статьи:
Создание заданияДля создания задания необходимо:
Синтаксис заданийЗадание в crontab состоит из двух частей и имеет следующий формат: Время выполнения заданияВремя выполнения задания содержит информацию о времени, когда задание должно выполняться. Время задается с помощью пяти параметров — минута, час, день, месяц, день недели. Каждый из параметров может быть задан:
Для каждого параметра определен диапазон допустимых числовых значений: минута — от 0 до 59, час — от 0 до 23, день — от 1 до 31, месяц — от 1 до 12, день недели — от 0 до 7 (0 и 7 означают воскресенье).
Выполняемая командаВыполняемая команда содержит сведения о том задании, которое должно выполняться. Заданием может быть выполнение собственных скриптов или запуск установленных на сервере программ. 1. Запуск собственных скриптов. Для запуска скрипта необходимо указать абсолютные пути до интерпретатора (программы, которая выполнит скрипт) и до собственного скрипта, разделив эти пути пробелом. Пример записи: В указанном примере вначале указан абсолютный путь до интерпретатора PHP /usr/bin/php, а путь /home/l/login/public_html/script.php является абсолютным путём до собственного скрипта. При написании скрипта в нем также следует использовать только абсолютные пути (например, пути до подключаемых файлов или файлов, в которые скрипт будет сохранять результат своей работы). Различные интерпретаторы php на сервере: /usr/bin/php7.4
/usr/bin/php7.3 /usr/bin/php7.2 /usr/bin/php7.1 /usr/bin/php7.0 /usr/bin/php5.6 /usr/bin/php5.5 /usr/bin/php5.4 /usr/bin/php5.3 /usr/bin/php (версия 5.2) 2. Запуск установленных на сервере программ. Помимо использования программ-интерпретаторов разрешено использовать и любые другие программы, установленные на сервере и доступные для запуска пользователям. Обязательно следует указывать абсолютный путь до программы. Пример записи: В примере с помощью программы wget будет запрошена страница update.php с сайта на домене example.com. Чтобы не сохранять файл на хостинге, добавлена подстрока -O /dev/null. Определение пути до нужной программыУзнать абсолютные пути к установленным на сервере и доступным для использования программам можно с помощью команды which. Например, если требуется узнать абсолютный путь до интерпретатора Perl, то следует выполнить в командной строке команду which perl: Уведомления на электронную почтуСуществует возможность получать текстовый результат выполнения задания на электронную почту. Для этого в разделе «Crontab» следует нажать на кнопку «Подписаться на уведомления». Письма будут отправляться в том случае, если в результате выполнения задания формируется какой-либо текстовый вывод. Зачастую, требуется отключить отправку уведомлений для одного задания cron, но оставить уведомления для другого. В этом случае, необходимо отключить для этого задания вывод какого-либо текста, включая вывод ошибок. Например, для команды wget требуется ключ -q: Можно отключить вывод любого текста командой, добавив конструкцию 1>&2 2>/dev/null в её конец: Дополнительные сведения► Абсолютный путь до корневой папки аккаунта формируется следующим образом:
Например, для аккаунта с логином spaceweb путь до корневой папки аккаунта имел бы следующий вид: /home/s/spaceweb/ Абсолютные пути до папок расположенных на аккаунте сайтов указываются в разделе «Домены» в колонке «Папка» напротив каждого доменного имени. ► Cледует учитывать, что на сервере используется регистрозависимая файловая система. Это означает, что в тексте задания все имена файлов и папок надо указывать точно так же, как они определены на сервере. /home/s/swebuser/Scripts/SCRIPT.PHP
|