Инструкции



Планировщик crontab

В некоторых случаях возникает необходимость проведения постоянно повторяющихся действий, например, обновление прайс-листа c удаленного ресурса, ротация собственных файлов статистики, удаление временных файлов и т.д. Этим целям служит планировщик заданий сrontab, входящий в штатный набор системных средств UNIX.

Вы тоже можете воспользоваться этим удобным инструментом из панели управления сайтом. Для этого необходимо написать скрипт, который будет при обращении к нему выполнять необходимые действия и внести запись в журнал расписаний сrontab. Формат записи состоит из семи полей. В поле Name указывается символическое название задания. В поле Command вносится абсолютный путь к исполняемому скрипту или команде. В поле Minutes указывается периодичность выполнения в минутах (0-59). Если указать *, то указанная команда будет выполнятся каждую минуту, если указать 5, команда выполняется в пятую минут, если 3, 47 — соответственно команда выполняется в третью и сорок седьмую минуту, если указать 34-55, команда выполняется каждую минуту начиная с тридцать четвертой и кончая пятдесят пятой, если указать */5, то команда будет выполнятся каждую пятую минуту. В поле Hours указывается периодичность выполнения в часах (0-23). В поле Day Of Month указывается периодичность выполнения в днях месяца (1-31). В поле Month указывается периодичность выполнения в месяцах (1-12). В поле Day Of Week указывается периодичность выполнения в днях недели (1-7). Так если поочередно указать периоды "52", "*", "1,5", "*", "*", то указанная команда будет выполняться в 52-ю минуту каждого часа 1 и 5 числа каждого месяца.

Не следует злоупотреблять, указывая очевидно короткие периоды времени, например, каждую минуту или каждые 5 минут, надо руководствоваться здравым смыслом и четко представлять роль и целесообразность каждой команды в журнале планировщика.

На сервере хостинга бинарные файлы интерпретаторов расположены в следующих местах:
/usr/local/php4/bin/phpPHP версии 4
/usr/local/php5/bin/phpPHP версии 5 (CLI режим) для hosting.tomsknet.ru, hosting2-5.tomsknet.ru
/usr/local/bin/phpPHP версии 5 (CLI режим) для hosting6-9.tomsknet.ru
/usr/local/php5/bin/php-cgiPHP версии 5 (CGI/FastCGI режим)
/usr/bin/perlPerl


Желательно установить переменную окружения SHELL=/bin/sh

Примеры:

SHELL=/bin/sh
0 6 * * * /usr/local/bin/php /usr/home/hosting/wt1019999/htdocs/cron/myscript.php >/dev/null 2>&1

*/30 * * * * /usr/local/bin/curl /dev/null http://xxxxx.tom.ru/tech?param=1

37 * * * * /usr/bin/fetch -q -o /dev/null http://xxxxx.tom.ru/cron-dir.php

0 6 * * * cd /usr/home/hosting/wt1019999/htdocs/cron && /usr/local/bin/php ./script.php > /dev/null 2>&1