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

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

    Задание для планировщика (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 в поле часы означает «каждые три часа».

    Как выглядит простейший сценарий планировщика (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 минут

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

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

    Выполните следующую команду чтобы открыть crontab текущего пользователя:

    $ crontab -e
    

    Открыть crontab пользователя Alice:

    $ crontab -u alice -e
    

    Просмотреть содержимое crontab текущего пользователя и пользователя Alice:

    $ crontab -l
    $ crontab -u alice -l
    

    По умолчанию, пользовательские задания для планировщика cron хранятся в директории /var/spool/cron/.