Ниже указан формат файла crontab:

------------- минуты (0 - 59)
| ----------- час (0 - 23)
| | --------- день месяца (1 - 31)
| | | ------- месяц (1 - 12)
| | | | ----- день недели (0 - 6) (Воскресенье=0)
| | | | |
* * * * * команда_для_запуска

Запятая (,) определяет список значений, например: 1,3,4,7,8

Тире (-) определяет диапазон значений, например: 1-6, что эквивалентно 1,2,3,4,5,6

Звездочка (*) определяет все допустимые значения поля. Например, звездочка в поле часы будет эквивалентно значению 'каждый час'..

Слэш (/) может использоваться для пропуска данного числа значений. Например, */3 в поле часы эквивалентно строке 0,3,6,9,12,15,18,21; * означает 'ежечасно', но /3 устанавливает использовать только первое, четвертое, седьмое...и так далее значение определенное *.

Просмотр crontab
crontab -l
Редактирование crontab
crontab -e

Задания cron запускаются для каждого пользователя, однако, если вы хотите запускать команды cron от имени пользователя root используйте:

sudo crontab -e

Если результатом выполнения команды из crontab являются какие-то выходные данные, то демон cron обычно высылает эти данные пользователю по email. Что бы отключить данную функцию для любой специфичной команды, вы можете перенаправить вывод на /dev/null. Для отключения пересылки сообщений по email из crontab добавьте в строку вызова команды

> /dev/null 2>&1

Это позволит перенаправить вывод на устройство /dev/null, однако, если возникнут ошибки, то вы их тоже не увидите.

Примеры заданий cron

для выполнения команды ls вызываемой ежедневно в 16:30, добавьте следующую строку в cron:

30 16 * * * ls

для выполнения команды ls вызываемой каждые 5 минут, добавьте следующую строку в cron:

*/5 * * * * ls

для выполнения команды ls вызываемой каждую пятницу в 6:57, добавьте следующую строку в cron:

57 6 * * 5 ls

для выполнения команды ls вызываемой один раз в месяц в 14:38, добавьте следующую строку в cron:

38 14 1 * * ls

для выполнения команды echo "string" вызываемой по будням в 12:00, добавьте следующую строку в cron:

0 12 * * 1-5 echo "lunchtime"

для выполнения команды echo "string" вызываемой каждый раз 31-го декабря в 00:00, добавьте следующую строку в cron:

0 0 31 12 * echo "С новым годом!"