Създаване на Cron Job в ISPConfig

Cron job е отложена задача, която се изпълнява от системата в определено време. Създаването и управлението на cron задачи може да се извършва през ISPConfig панела.

Списъкът с вече създадените cron задачи се намира в Sites » (Command Line) Cron Jobs.

Създаване на нова cron задача

За да създадете нова cron задача, отворете Sites » (Command Line) Cron Jobs и кликнете на Add new 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

При поставянето на отметка на Log output, в директорията /var/www/mysupersite.com/private/ (където mysupersite.com е името на добавения сайт) се създават два файла:

  • cron.log – в който се записва изхода (в случай че има такъв) от скрипта, който се изпълнява от крон задачата;
  • cron_error.log – в който се записват грешките (в случай че има такива), генерирани от скрипта, който се изпълнява от крон задачата.

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 минути.

Обновена: 18.03.2022
Беше ли Ви полезна тази статия?

Вижте още