Правила составления заданий планировщика

Задание для планировщика (cron) состоит из 6 колонок, разделяемых пробелами или табуляторами. Первые пять колонок задают время выполнения (Минута, Час, День, Месяц, День недели), в них может находиться число, список чисел, разделённых запятыми, диапазон чисел, разделённых тире - или звездочкой *. Все остальные символы в строке интерпретируются как выполняемая команда с её параметрами.

* * * * * выполняемая команда
| | | | |
| | | | —– День недели (0 - 7) (Воскресенье =0 или =7)
| | | ——- Месяц (1 - 12)
| | ——— День (1 - 31)
| ———– Час (0 - 23)
————- Минута (0 - 59)

Для каждого конкретного параметра можно задать несколько значений через запятую.
Например, если в поле часы написать 1,4,22, то задание будет запущено в 1 час ночи, в 4 часа утра и в 22 часа.
Можно задать интервал — 4-9 будет означать, что программу нужно запускать каждый час в период с 4 до 9 часов включительно.
Символ * означает «все возможные значения». Например, указание * в поле часы будет означать «запускать каждый час».
Символ / служит для указания дополнительной периодичности задания. Например, */3 в поле часы означает «каждые три часа».

Рекомендация
Если требуется запускать какую-то программу один раз в день, особенно если она требует для выполнения больших ресурсов, выполняйте такое задание ночью, в период с 2 до 8 часов — нагрузка на сервер в это время минимальна.

Как выглядит простейший сценарий планировщика (cron):

0 */3 * * 2,5 /usr/local/bin/php /home/login/html/cron.php

Скрипт размещен по пути /home/login/html/cron.php будет автоматически запускаться каждые три часа во вторник и в пятницу.

Примеры использования заданий:

Выполнять задание раз в час в 0 минут

0 */1 * * * /usr/local/bin/php /home/login/html/cron.php

Выполнять задание каждые три часа в 0 минут

0 */3 * * * /usr/local/bin/php /home/login/html/cron.php

Выполнять задание по понедельникам в 1 час 15 минут ночи

15 1 * * 1 /usr/local/bin/php /home/login/html/cron.php

Выполнять задание 5 апреля в 0 часов 1 минуту каждый год

1 0 5 4 * /usr/local/bin/php /home/login/html/cron.php

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

13 13 13 * 5 /usr/local/bin/php /home/login/html/cron.php

Выполнять задание ежемесячно 1 числа в 6 часов 10 минут

10 6 1 * * /usr/local/bin/php /home/login/html/cron.php

В примерах выше указано выполнение скриптов внутри хостинга. Если же необходим запуск скриптов через домен сайта, к примеру htpp://domain.ru/cron.php, то вместо /usr/local/bin/php необходимо прописывать wget.

Пример:
Выполнять задание раз в час в 0 минут

0 */1 * * * wget -qO- htpp://domain.ru/cron.php

Как проверить, работает ли вообще крон, описано на странице Проверка работы планировщика.