crontab
Добавлено: 10 сен 2025, 15:54
Конечно! Вот объяснение, как читать и понимать записи в crontab.
**Общий формат записи crontab:**
```
минуты часы день_месяца месяц день_недели команда
```
**Пояснение каждого поля:**
1. **Минуты (0-59)** — когда выполнять задачу по минутам.
2. **Часы (0-23)** — в какое время по часам.
3. **День_месяца (1-31)** — в какой день месяца.
4. **Месяц (1-12 или названия)** — в какой месяц.
5. **День_недели (0-7, где 0 или 7 — воскресенье, 1 — понедельник и т.д.)** — какой день недели.
6. **Команда** — команда или скрипт для выполнения.
---
### Основные символы и их значение:
- `*` — каждый возможный интервал (например, каждый минуту, каждый час).
- `,` — разделение нескольких значений (например, `1,15,30`).
- `-` — диапазон значений (например, `1-5`).
- `/` — шаг (например, `*/15` — каждые 15 минут).
---
### Примеры:
1. **Запись:**
```
0 5 * * * /path/to/script.sh
```
**Что означает:**
Выполнить скрипт `/path/to/script.sh` каждый день в 5:00 утра.
2. **Запись:**
```
30 22 * * 1-5 /home/user/backup.sh
```
**Что означает:**
Запускать скрипт `/home/user/backup.sh` по будням (понедельник-пятница) в 22:30.
3. **Запись:**
```
*/15 9-17 * * 1-5 /home/user/notify.sh
```
**Что означает:**
Выполнять команду каждые 15 минут в рабочие часы с 9 до 17 по будням.
**Общий формат записи crontab:**
```
минуты часы день_месяца месяц день_недели команда
```
**Пояснение каждого поля:**
1. **Минуты (0-59)** — когда выполнять задачу по минутам.
2. **Часы (0-23)** — в какое время по часам.
3. **День_месяца (1-31)** — в какой день месяца.
4. **Месяц (1-12 или названия)** — в какой месяц.
5. **День_недели (0-7, где 0 или 7 — воскресенье, 1 — понедельник и т.д.)** — какой день недели.
6. **Команда** — команда или скрипт для выполнения.
---
### Основные символы и их значение:
- `*` — каждый возможный интервал (например, каждый минуту, каждый час).
- `,` — разделение нескольких значений (например, `1,15,30`).
- `-` — диапазон значений (например, `1-5`).
- `/` — шаг (например, `*/15` — каждые 15 минут).
---
### Примеры:
1. **Запись:**
```
0 5 * * * /path/to/script.sh
```
**Что означает:**
Выполнить скрипт `/path/to/script.sh` каждый день в 5:00 утра.
2. **Запись:**
```
30 22 * * 1-5 /home/user/backup.sh
```
**Что означает:**
Запускать скрипт `/home/user/backup.sh` по будням (понедельник-пятница) в 22:30.
3. **Запись:**
```
*/15 9-17 * * 1-5 /home/user/notify.sh
```
**Что означает:**
Выполнять команду каждые 15 минут в рабочие часы с 9 до 17 по будням.