Cron Jobs - управление на Cron задачи в cPanel
Съдържание
Cron е Linux програма, която автоматично стартира изпълнението на команда или скрипт на сървъра в точно определно време или през определен интервал от време.
Cron Jobs се наричат самите задачи, които дефинират скрипта, интервала от време за изпълнение и как се процедира с резултата от изпълнението (изпращане на имейл, запис в лог файл или изтриване).
Подобни на Cron програми има и в другите операционни системи. На Mac OS X, Cron е заменен с друг процес, наречен launchd. В Windows OS има автоматичен процес Task Scheduler. Ако се нуждаете от графичен интерфейс за Linux, базирани на Gnome системи като Ubuntu, може да инсталирате Gnome Schedule.
За да се гарантира производителността на сървърите при споделен хостинг, обикновено се дефинира минимален интервал от време за изпълнение на Cron Jobs.
Важно: за споделен хостинг в ICN.bg минималния интервал от време за изпълнение на Cron Jobs е 30 (тридесет) минути. Cron задачи, настроени на по-кратък интервал, автоматично се изтриват.
Преди да създадете cron задача, отворете файла (който искате да се изпълнява от cron) в браузер, за да се уверите, че скрипта работи коректно.
Управление на Cron Jobs в cPanel
cPanel предоставя много удобен интерфейс за настройване на Cron Jobs.
Отворете cPanel > Advanced и кликнете линка Cron Jobs:
Настройване на Cron имейл
Ако скрипта, който се изпълнява от Cron задачата генерира изходна информация, тя може да бъде изпращана на посочен от вас имейл след всяко изпълнение на скрипта. За целта трябва в текстовото поле Email да въведете имейл адреса, на който да се изпраща информацията и кликнете бутона Update Email:
Ако не желаете да получавате имейл за всяка отделна задача може да пренасочите изхода на командата към /dev/null
като добавите след пътя до скрипта следния код: >/dev/null 2>&1
Създаване на Cron задача
Изберете интервала, в който желаете да изпълните cron задачата от съответните менюта или въведете стойности в текстовите полета.
Common Settings (общи настройки) - това меню ви позволява да изберете често използвани интервали. Ако изберете някоя от опциите, системата ще конфигурира подходящите настройки в текстовите полета Минута, Час, Ден, Месец и Ден от седмица:
- Минута - изберете броя минути между всяко изпълнение на скрипта или минутата от всеки час, в който искате да се изпълни cron задачата;
- Час - изберете броя часове между всяко изпълнение на скрипта или часът от всеки ден, в който искате да стартирате cron задачата;
- Ден - изберете броя дни между всяко изпълнение на скрипта или деня от месеца, в който искате да се изпълни cron задачата;
- Месец - изберете броя месеци между всяко изпълнение на скрипта или месеца на годината, в която искате да стартирате cron задачата;
- Ден от седмицата - изберете дните от седмицата, в които искате cron задачата да се изпълнява.
В текстовото поле Command въведете cron задачата, която желаете да се изпълнява през зададения по-горе интервал:
Посочете коректната версия на PHP за изпълнение на файла и абсолютния път до файла, който искате да стартирате (трябва да има интервал между двата низа):
php71 /home/cpaneluser/public_html/icn-demo.com/crontask.php
Ако искате да деактивирате изпращане на имейл за конкретната задача, добавете следния код >/dev/null 2>&1
след командата като оставете празен интервал между двата низа:
php71 /home/cpaneluser/public_html/icn-demo.com/crontask.php >/dev/null 2>&1
Кликнете бутона Add New Cron Job.
Текстово съобщение ще потвърди успешното създаване на Cron задачата:
Cron задачите не са ограничени да изпълняват само PHP скриптове. Cron демона само следи посочения в задачата скрипт да се изпълни в точно определеното време.
Самата задача може да бъде написана на всеки скриптов език, който се поддържа от сървъра - php, perl, python, bash. Cron може да изпълнява и отдалечени файлове с командите curl и wget:
0 0 * * * /usr/bin/curl http://web.url/cron.php
0 0 * * * /usr/bin/wget http://web.url/cron.php
Новата Cron задача ще бъде добавена в таблицата Current Cron Jobs:
Редактиране на Cron задача
В таблицата Current Cron Jobs намерете задачата, която искате да редактирате, и кликнете линка Edit:
Редактирайте настройките, които искате да промените и кликнете бутона Edit Line.
Текстово съобщение ще потвърди успешното редактиране на Cron задачата:
Изтриване на Cron задача
Кликнете линка Delete срещу задачата, която искате да изтриете:
Кликнете бутона Delete.
Заключение
Cron Jobs са много полезен инструмент, но трябва да се управляват изключително внимателно.
Правилната настройка на cron задачите изисква добро познаване на PHP или друг скриптов език. Ако никога не сте създавали cron задачи и се чувствате дори малко несигурни, консултирайте се с колегите от техническа поддръжка за съдействие.