Cron (от сокр. Command Run ON) – механизм для автоматического запуска приложений на сервере по расписанию. Управляется довольно просто, посредством конфигурирования файла конфигурации cron.
Чтобы открыть файл конфигурации достаточно выполнить команду в консоли:
crontab –e
Данная команда запустит текстовый редактор, и загрузит в него файл конфигурации cron. После сохранения внесенных изменений, и выхода из редактора, новая конфигурация применяется автоматически, перезапускать ничего не нужно, как это иногда бывает нужно с некоторым программным обеспечением серверов.
В конфигурационном файле может содержаться последовательность командных строк и расписание их выполнения. Строки, отмеченные символом #, а так же пустые строки игнорируются, прочие строки приходятся установками переменных окружения и командами cron.
Рассмотрим, из каких полей состоит строка записи в конфигурационном файле:
минуты часы день месяц день_недели имя_пользователя команда
Запись в целом состоит из семи полей, рассмотрим допустимые значения параметров времени:
минуты: 0-59;
часы: 0-23;
день_месяца: 1-31;
месяц: 1-12;
день_недели: 0-7 (0-Вс,1-Пн,2-Вт,3-Ср,4-Чт,5-Пт,6-Сб,7-Вс).
Кроме того параметр в поле может указываться явно либо шаблоном:
звездочка — любая цифра;
целое число;
целые числа через запятую — задание дискретного множества значений;
два целых числа, разделенные дефисом – соответствует диапазону значений.
# Выполнять задание в 20 часов 15 минут 13 мая, если это пятница 15 20 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 и вам так же требуется знать к нему путь.
В моем случае он находиться тут: /usr/bin/php. Давайте посмотрим пример, как можно настроить запуск PHP-скрипта каждые сутки, в 6 часов утра.
0 6 * * * /usr/bin/php -q /home/cron/script.php
Опция –q при запуске указывает интерпретатору PHP не отдавать HTTP заголовки ответа. Использование PHP-скриптов в cron может понадобиться, к примеру, для выполнения повседневных операций по сайту, согласно расписанию, ну или что-то вроде этого.