Cron — демон занимающийся запуском команд в определенные дни и время. Данные о том, что и когда запускать он берет из файлов «/etc/crontab» — обще системный файл и «/var/cron/tabs/» — каталог содержащий пользовательские файлы.

В файле crontab каждая строчка содержит из шести полей и команды разделенных пробелами.

Поле минута час число месяц день_недели пользователь команда
Значение 0-59 0-23 1-31 1-12 0-7 (0-воскресенье) от этого имени будет выполнятся команда команда которая будет выполнена

В пользовательских фалах строки практически такие же кроме поля (пользователь) которое отсутствует.

Также значением поля может быть звездочка.

* — все значения, эквивалентен 0-59 для поля минуты

Можно задавать несколько значений через запятую или диапазон значений через тире, а также задавать шаг с помощью «/»

К примеру:

* 1-9 * * * echo «test» будет запускать команду echo «test» каждый день в 1,2,3,4,5,6,7,8,9 часов.

* 1-9/2 * * * echo «test» будет запускаться в 1,3,5,7,9 то есть с шагом 2.

* 1,3,5,7,9 * * * echo «test»  тоже самое что и пред идущая строка  но значения заданы через запятую без всяких шагов и диапазонов

Вместо первых пяти полей могут быть использованы специальные  значения

@reboot          Выполнить команду один раз, при загрузке ОС
@yearly           Выполнять команду каждое 1 января
@monthly     Выполнять команду в начале каждого месяца
@weekly         Выполнять команду каждое воскресенье
@daily              Выполнять команду в полночь
@hourly         Выполнять команду раз в час

Пример файла crontab

SHELL=/bin/sh
PATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bin
#MAILTO=root
#в 0 минут, 0 часов, каждый день выполняет скрипт logrotate
0 0 * * * root /scripts/logrotate