Cron job е отложена задача, която се изпълнява от системата в определено време. Създаването и управлението на cron задачи може да се извършва през ISPConfig панела.
Списъкът с вече създадените cron задачи се намира в Sites » (Command Line) Cron Jobs.
Създаване на нова cron задача
За да създадете нова cron задача, отворете Sites » (Command Line) Cron Jobs и кликнете на Add new Cron Jobs.
За задачата са нужни данните – сайт, време за изпълнение и команда.
Parent website
Изберете домейна, за който ще изпълнявате задачите.
Minutes, Hours, Days of month, Months, Days of week
Детайлна настройка на времето, в което задачата ще се стартира.
Възможните стойности за полетата са:
- Minutes: 0-59
- Hours: 0-23
- Days of month: 1-31
- Months: 1-12 (или имената на месеците)
- Days of week: 0-7 (0 или 7 е неделя; или може да се използват имената на дните)
- Символът „*“ означава „всеки“.
Например: */5 * * * *
- */5 – на всеки 5 минути (през 5 минути);
- * всеки час;
- * всеки ден от месеца;
- * всеки месец;
- * всеки ден от седмицата.
Command to run
В това поле се описват:
- пътят до приложението, което ще обработи скрипта, например PHP интерпретаторът;
- и пътят до самия скрипт.
Например целият ред на командата е:
/usr/bin/php-cgi /var/www/mysupersite.com/web/test.php
/usr/bin/php-cgi
– пътят до PHP интерпретатора;
/var/www/mysupersite.com/web/test.php
– пътят до скрипта; за съкратено изписване може да се използва [web_root], например [web_root]/test.php
;
За да използвате определена PHP версия за обработка на скрипта, променете пътя до PHP интерпретатора:
- PHP 4.4:
/opt/remi/php44/bin/php-cgi
- PHP 5.2:
/opt/remi/php52/bin/php-cgi
- PHP 5.3:
/opt/remi/php53/bin/php-cgi
- PHP 5.4 (версия по подразбиране*):
/usr/bin/php-cgi
- PHP 5.5:
/opt/remi/php55/root/bin/php-cgi
- PHP 5.6:
/opt/remi/php56/root/bin/php-cgi
- PHP 7.0:
/opt/remi/php70/root/bin/php-cgi
- PHP 7.1:
/opt/remi/php71/root/bin/php-cgi
- PHP 7.2:
/opt/remi/php72/root/bin/php-cgi
- PHP 7.3:
/opt/remi/php73/root/bin/php-cgi
- PHP 7.4:
/opt/remi/php74/root/bin/php-cgi
* Можете да проверите коя е версията на PHP по подразбиране за сървъра през SSH с командата „php -v
“. Друг вариант е, да използвате phpinfo. Пътят до PHP версията по подразбиране, който можете да използвате за cron задачата, винаги е /usr/bin/php-cgi
.
Освен PHP скриптове в cron задача може да се стартират и скриптове, написани на Perl, bash и други.
Log output
Резултатите от задачата ще се записват в лог файл, който се намира в /private директорията.
Active
Активирайте задачата, като поставите отметка на Active.
За да деактивирате изпълнението на определена задача, не е нужно да я премахвате, можете да я редактирате и да махнете отметката на Active.
Примерен PHP скрипт
Можем да разберем дали дадена задача се изпълнява, като използваме примерен скрипт.
В DocumentRoot на домейна mysupersite.com, т.е „/var/www/mysupersite.com/web/“, качваме файл с име test.php, в който има следния PHP код:
<?php
$db = "data.txt";
$time = date("H:i:s\n");
file_put_contents($db, $time, FILE_APPEND | LOCK_EX);
?>
Действието на файла: Взима времето, в което се изпълнява ($time
), и го записва на нов ред в data.txt файла ($db
). Ако този файл го няма, системата ще го създаде.
След като тестовият скрипт е разположен в директория /var/www/mysupersite.com/web/
, създаваме cron задача, която ще се изпълнява на всеки 5 минути (*/5 * * * *):
/usr/bin/php-cgi /var/www/mysupersite.com/web/test.php
В случай че задачата се изпълнява коректно, във файла data.txt ще има записи от вида: hh:mm:ss (час:минути:секунди), като записите ще са през 5 минути.