Выдано 107094 лицензии

Планировщик задач Cron и команда crontab

Cron (Command Run ON) — система для автоматического запуска программ и скриптов на сервере в определённое время.

Управлять cron нужно с помощью команды 'crontab'.

Команда crontab -l покажет список текущих заданий, crontab -e автоматически запустит текстовый редактор и загрузит в него файл конфигурации cron. После выхода из редактора, новая конфигурация cron будет установлена (вступит в силу) автоматически.

Конфигурационный файл содержит последовательность командных строк и расписание их вызова. Пустые строки и строки, начинающиеся с символа '#' игнорируются. Остальные строки являются установками переменных окружения и командами cron.

Запись crontab- файла в общем случае состоит из семи полей:

минуты   часы   день  месяц   день_недели  имя_пользователя   команда

Допустимые значения временных параметров:

Параметр Допустимый интервал
минуты 0-59
часы 0-23
день месяца 1-31
месяц 1-12
день недели 0-7 (0-Вс,1-Пн,2-Вт,3-Ср,4-Чт,5-Пт,6-Сб,7-Вс)

Поле может быть задано явно или шаблоном:

  • * — любая цифра;
  • целое число;
  • целые числа через запятую — задание дискретного множества значений, например 1,2,5;
  • два целых числа, разделенные дефисом, соответствующие диапазону значений, например 3-6.

Пример готовой строки сценария cron:

# Выполнять задание в 18 часов 7 минут 13 мая если это пятница
7 18 13 5 5 /home/www/myscript.pl
# Выполнять задание раз в час в 0 минут
0 */1 * * * /home/www/myscript.pl
# Выполнять задание каждые семь часов в 0 минут
0 */7 * * * /home/www/myscript.pl
# Выполнять задание по воскресеньям в 10 час 30 минут
30 10 * * 0 /home/www/myscript.pl

Выполнение PHP-файлов

Для выполнения php скриптов из cron необходим бинарный интерпретатора PHP.

Реальный путь на сервере к корневой директории сайта и путь к PHP уточните в службе поддержки хостинга.

# Пример запуска скрипта в 5 утра каждый день:
0 5 * * * /usr/bin/php -q /home/www/script.php

Обратите внимание, при запуске из cron опция -q указывает PHP не выдавать HTTP-заголовки.