Как задать cron для запуска задания каждую указанную минуту в заданном интервале?

Как правильно оформить запись для запуска задания, чтобы оно выполнялось, например, каждую 7-ю минуту или по заданному интервалу, к примеру, каждую 10-ю минуту? Пример записи, который работает: <br/> <code>7,17,27,37,47,57 * * * *</code>. А вот запись <br/> <code>7/10 * * * *</code> не срабатывает. Почему так происходит и как можно улучшить оформление записи?
  • 3 ноября 2024 г. 0:12
Ответы на вопрос 3
Запись `7/10 * * * *` в crontab не срабатывает, потому что синтаксис `7/10` подразумевает, что задание будет запускаться начиная с 7-й минуты каждого часа и затем каждые 10 минут, что может привести к недоразумениям. Эта запись будет пытаться запускать задание в 7, 17, 27, 37, 47 и 57 минуту, где 7 – это начальная точка, но интервал 10 минут не позволяет корректно добавлять к начальной точке 7, чтобы не выйти за пределы 59 минут.

Если вы хотите запускать задание, например, каждую 7-ю минуту (7, 17, 27, 37, 47, 57) или каждую 10-ю минуту (0, 10, 20, 30, 40, 50), тогда лучше будет использовать разный синтаксис.

Для запуска задания, например, каждую 10-ю минуту, запись будет выглядеть следующим образом:

```
*/10 * * * *
```

Объяснение:
- `*/10` – означает "каждые 10 минут, начиная с 0" (0, 10, 20, 30, 40, 50).

Если вы хотите запускать задание каждую 7-ю минуту, можно использовать:

```
*/7 * * * *
```

Это будет запускать задание каждую 7-ю минуту (0, 7, 14, 21, 28, 35, 42, 49, 56).

Если вы хотите задать конкретные минутные метки, то можно использовать:

```
7,17,27,37,47,57 * * * *
```

Таким образом, записи с `*/n` синтаксисом являются более удобным и простым способом задать интервал для выполнения заданий в cron.
Читать документацию по конкретно вашему крону. 
Скорее всего ваш крон считает первый аргумент диапазоном, а не стартовым числом,и автоматически дополняет 7/10 до 7-59/10, то есть просто указывает диапазон.
7,17,27,37,47,57 * * * * - вот так работает

7-57/10 * * * * /vash/script.sh
Вот такое для вашего примера сработает в fcron и Vixie Cron, попробуйте у себя.
Похожие вопросы