КАК РАБОТАЕТ CRON

Структура cron выражения
cron выражение
*
*
*
*
*
username
команда для выполнения
День недели
(0=Воскр. .. 6=Суб.)
Месяц
(1 .. 12)
День месяца
(1 . . 31)
Часы
(0 . . 23)
Минуты
(0 . . 59)
Специальные строки (алиасы)
# Каждый месяц
@monthly команда
0 0 1 * *
# Каждую полночь
@midnight команда
# то же самое, что `@daily`
# Каждый день
@daily команда
0 0 * * *
# При каждой
перезагрузке
@reboot команда
# Каждые 6 часов
0 */6 * * * команда
# Каждые 5 минут
*/5 * * * * команда
Примеры cron выражений
# Каждый пн. в полночь
0 0 * * 1 команда
# Каждый день в 05:04
4 5 * * * команда
# Каждое вскр 12:05
5 12 * * 0 команда
# Каждый год
@yearly команда
@annually команда
# Каждую неделю
@weekly команда
0 0 * * 0 команда
# Каждый час
@hourly команда
0 * * * * команда
Операторы
  • *: Все возможные значения в поле
  • ,: Перечисление нескольких значений
  • -: Диапазон значений
  • /: Задание шага для поля
  • L: Последнее значение (используется в полях месяц и день недели)
  • W: Ближайший будний день к указанной дате
  • #: Используется только в поле дня недели, за которым следует число от 1 до 5
  • ?: Нет конкретного значения (используется в полях день месяца и день недели)
Crontab
Команда Описание
$ crontab -e Редактировать или создать crontab файл, если он ещё не существует
$ crontab -l Показать crontab файл
$ crontab -r Удалить crontab
$ crontab -u username -l Показать crontab другого юзера
$ crontab -u username -e Редактировать crontab другого юзера
$ echo "username" > /etc/cron.allow Разрешить юзеру использовать crontab
$ echo "username" > /etc/cron.deny Запретить пользователю использовать crontab
$ crontab -v Показать дату последнего редактирования вашего crontab файла