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

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

Обновена: 02.02.2021

Беше ли Ви полезна тази статия?

Вижте още