Планировщик задач cron в Linux работает следующим образом:
- Все задачи записываются в файл /etc/crontab. 1 В нём хранится и расписание, и непосредственно скрипты. 1 Кроме этого, в файл можно добавлять служебные параметры — почту, оболочку, переменные среды и так далее. 1
- Задачи, добавленные каждым пользователем системы, хранятся в /var/spool/cron/crontabs/. 1
- Каждое задание добавляется с новой строки. 1 Строка условно делится на две части — настройки регулярности выполнения и непосредственно скрипт. 1
- Расписание — это пять полей, разделённых пробелами: минута (0–59), час (0–23), день (1–31), месяц (1–12, jan — dec), день недели (0–6, sun— mon). 1
- Для задания регулярности выполнения задач используются специальные символы: 1
- * — символ подстановки, он представляет все значения. 1 То есть, если вместо конкретных минут написать *, тогда скрипт будет выполняться ежеминутно. 1, используется для создания списка. 1 Если нужно запускать скрипт два раза в сутки, не нужно создавать две записи. 1 Вместо этого в поле «часы» достаточно написать, например, 5,10, и скрипт будет выполняться два раза — в пять и в десять часов. 1- — задаёт диапазон значений. 1 Если нужно, чтобы скрипт исполнялся только во второй половине недели, то достаточно написать в соответствующем поле 4–7. 1/ обозначает шаг. 1 Так, чтобы запускать скрипт каждые два часа в сутки, не нужно создавать 12 записей — достаточно просто написать */2. 1
- Демон cron считывает эти файлы, чтобы знать, когда выполнять запланированные задачи. 2
Сервис cron запускается при старте системы и работает в фоновом режиме. 3 Его основная задача — выполнять нужные процессы в нужное время. 3