# Cron паттерны

## Синтаксис cron паттерна

```
// ┌────────────── минуты (0 - 59)
// │ ┌──────────── час (0 - 23)
// │ │ ┌────────── день месяца (1 - 31)
// │ │ │ ┌──────── месяц (1 - 12, JAN-DEC)
// │ │ │ │ ┌────── день  недели (0 - 6, SUN-Mon) 
// │ │ │ │ │       (от 0 до 6 это от Воскресенья до Субботы; 7 это Воскресенье, тоже самое что и 0)
// │ │ │ │ │
// * * * * *
```

## Быстрые примеры

#### Это будет выполняться каждую минуту

\* \* \* \* \*

#### Это будет выполняться каждое воскресенье

0 0 \* \* 7

#### Каждые 30 минут с 9 до 17 часов

\*/30 9-17 \* \* \*

#### С понедельника по пятницу в 11:30

30 11 \* \* 1-5

#### Каждые 10 минут

\*/10 \* \* \* \*

#### В полночь

00 00 \* \* \*

#### Также можно использовать следующие "ники" в качестве паттерна.

| Ник       | Описание                                           |
| --------- | -------------------------------------------------- |
| @yearly   | Выполнятся единожды в год, т.е. "0 0 1 1 \*".      |
| @annually | Выполнятся единожды в год, т.е. "0 0 1 1 \*".      |
| @monthly  | Выполняется единожды в месяц, т.е. "0 0 1 \* \*".  |
| @weekly   | Выполняется единожды в неделю, т.е. "0 0 \* \* 0". |
| @daily    | Выполняется единожды в день, т.е. "0 0 \* \* \*".  |
| @hourly   | Выполняется единожды в част, т.е. "0 \* \* \* \*". |

### [Удобный сайт для генерации cron паттернов #1](https://www.freeformatter.com/cron-expression-generator-quartz.html)

### [Удобный сайт для генерации cron паттернов #2](https://crontab.cronhub.io/)

### [Удобный сайт для генерации cron паттернов #3](https://crontab.guru/)

### [Удобный сайт для генерации cron паттернов #4](https://hexagon.github.io/cron-builder/)

{% hint style="info" %}
Cron паттерн с интервалом меньше 60 секунд - нельзя создать!
{% endhint %}

{% hint style="info" %}
Все паттерны выполняются по часовому поясу UTC
{% endhint %}
