Планировщик задач 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:
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 уточните в службе поддержки хостинга.
0 5 * * * /usr/bin/php -q /home/www/script.php
Обратите внимание, при запуске из cron опция -q указывает PHP не выдавать HTTP-заголовки.