Cron - самый популярный демон для запланированного запуска комманд. Очень удобно использовать его для запуска фоновых задач в определенное время или через заданные промежутки времени.

Редактирование списка заданий

Для редактированя списка заданий можно использовать комманду:

$crotab -e

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

$sudo crontab -e -u user

Формат crontab

Формат файла следущий:

MIN HOUR DOM MON DOW /some/path/to/command

Таблица 1. Описание полей и допустимых значений crontab

Поле Описание Допустимые значения
MIN Минуты От 0 до 59
HOUR Часы От 0 до 23
DOM День месяца От 1 до 31
MON Месяц От 1 до 12
DOW День недели От 0 до 7

Обратите внимание, что воскресенье может быть отмечено как 0, так и 7. Это связано с тем, что в некоторых странах неделя начинается с воскресенья. Время указывается в 24 часовом формате.

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

#Комманда hellocron будет выполняться каждый вторник в 13.30.
0 13 * * 2 hellocron
#Комманда hellocron будет выполняться ежеминутно.
0-59 * * * * hellocron
#Комманда hellocron будет выполняться каждые 2 минуты.
*/2 * * * * hellocron
#Комманда hellocron будет выполняться в 30 минут каждого четного часа.
30 */2 * * * hellocron

Также допускается использовать специальные значения:

#Запустить один раз при загрузке
@reboot helloworld
#Запусткать каждую неделю.
@weekly hellocron

Полный список можно посмотреть в документации:

$man 5 crontab

Просмотр списка заданий

Список всех становленных заданий можно просмотреть с помощью комманды:

$crontab -l

Для просмотра списка другого пользователя, необходимо указать его:

$crontab -u user -l