Коротко (TL;DR)
Если нужно быстро настроить Cron Job, воспользуйтесь готовыми примерами ниже.
| Минута | Час | День | Месяц | День недели | Описание |
|---|---|---|---|---|---|
* | * | * | * | * | Каждую минуту |
0 | * | * | * | * | Каждый час |
30 | 8 | * | * | * | Ежедневно в 08:30 |
0 | 0 | 1 | * | * | Первого числа каждого месяца |
0 | 2 | * | * | 1 | Каждый понедельник в 02:00 |
45 | 8 | 1 | 1 | * | 1 января в 08:45 |
0 | */2 | * | * | * | Каждые два часа |
0 | * | * | * | 1,3,5 | Каждый час по понедельникам, средам и пятницам |
Пример
Чтобы запускать команду ежедневно в 08:30, добавьте в crontab такую запись:
30 8 * * * echo "Hello world!"Для проверки и расшифровки Cron-выражений можно воспользоваться сервисом crontab.guru.
Что такое Cron?
Cron — это системный планировщик задач Linux и Unix. Он позволяет автоматически запускать команды, скрипты или программы в заданное время без участия пользователя.
Расписание задаётся специальным Cron-выражением из пяти полей:
* * * * *
│ │ │ │ │
│ │ │ │ └── День недели (0–7)
│ │ │ └──── Месяц (1–12)
│ │ └────── День месяца (1–31)
│ └──────── Час (0–23)
└────────── Минута (0–59)Каждую минуту служба Cron сравнивает текущее время с заданным шаблоном и, если значения совпадают, выполняет нужную команду.
Как создать Cron Job
Откройте редактор crontab командой:
crontab -eЕсли файл пустой — это нормально. Просто добавьте новую строку:
* * * * * date >> /tmp/cronjob-output.txtПосле сохранения файл будет автоматически активирован.
Проверить результат можно так:
cat /tmp/cronjob-output.txtОжидаемый результат:
Mon Mar 6 20:09:00 CET 2023
Mon Mar 6 20:10:00 CET 2023
Mon Mar 6 20:11:00 CET 2023