ИНСТР-CRON-HOURLY0 * * * *@hourly · 24/деньревизия 2026-05-07

Cron каждый час

0 * * * * — запуск в начале каждого часа. 24 раза в сутки. Эквивалент @hourly. Сбор метрик, обновление кэша, мониторинг.

⏱ работает в браузере · без регистрации
Инструмент · ИНСТР-CRON-HOURLY|real-time
calcal.ru / cron-kazhdyj-chas
Загрузка инструмента…
0:00
В каждом часе
24
Раз в сутки
8 760
Раз в год
0
Запросов к серверу

Выражение 0 * * * *

0* * * * — самое простое периодическое cron-выражение. Запускается в начале каждого часа: 00:00, 01:00, 02:00... 23:00. Итого 24 раза в сутки. Эквивалент алиаса @hourly в Vixie cron.

Разбор:

  • 0 — минута 0 (ровно в начале часа, не в :01 или :30).
  • * — час: любой (0-23).
  • * — день месяца: любой.
  • * — месяц: любой.
  • * — день недели: любой.

Если хотите запуск НЕ в :00, а в другое время — измените первое поле: 15 * * * * (в :15), 30 * * * * (в :30), 45 * * * * (в :45).

Сценарии применения

  • Сбор метрик и логов. Каждый час забираем метрики из приложений в централизованное хранилище (Prometheus, Grafana, ELK).
  • Обновление кэша. Курсы валют от ЦБ, прайсы поставщиков, RSS-фиды. Час — баланс актуальности и нагрузки.
  • Health checks. Проверка работоспособности веб-сервисов, БД, очередей. Алерт при ошибке.
  • Email digest. Сборка уведомлений за прошлый час, отправка пачкой (вместо отдельных писем за каждое событие).
  • Sync с внешними API. Импорт новых данных из CRM, ERP, банковских API.
  • Очистка очередей. Удаление выполненных задач старше 1 часа, retry неудачных.
  • Инкрементальный backup. Дельта-бэкап (только изменения за последний час). Полный — раз в сутки ночью.
  • Cache warming. Прогрев кэша популярных страниц перед пиком трафика.
  • Aggregation. Подсчёт метрик за прошлый час: уникальные посетители, заказы, ошибки.
  • Token rotation. Обновление коротко-живущих токенов (если они истекают через 2 часа).
Каждый час — золотая середина. Чаще создаёт лишнюю нагрузку. Реже даёт устаревшую информацию. 80% периодических задач в production укладываются в hourly расписание.Site Reliability Engineering, Google, 2016

Связанные шаблоны

ВыражениеКогдаПрименение
0 * * * *Каждый час :00Метрики, обновление кэша
15 * * * *Каждый час :15Распределение нагрузки
30 * * * *Каждый час :30Альтернатива :00
0 */2 * * *Каждые 2 часа12 раз в сутки
0 */3 * * *Каждые 3 часа8 раз в сутки
0 */6 * * *Каждые 6 часов4 раза: 0, 6, 12, 18
0 9-18 * * *9-18 каждый часDaytime hourly
0 9-18 * * 1-59-18 будниBusiness hours hourly

Распределение нагрузки

Если у вас несколько hourly cron-задач, все запускающиеся в :00 — это пик нагрузки на сервер. В 14:00:00 одновременно стартуют 5 задач, CPU в 100%, всё тормозит. Решение — распределить:

# crontab пример с распределением нагрузки

0 * * * *   /opt/scripts/sync-metrics.sh        # :00 — критичный
10 * * * *  /opt/scripts/cache-rates.sh         # :10 — обновление курсов
20 * * * *  /opt/scripts/process-queue.sh       # :20 — очередь
30 * * * *  /opt/scripts/health-check.sh        # :30 — health check
45 * * * *  /opt/scripts/cleanup-temp.sh        # :45 — очистка
55 * * * *  /opt/scripts/aggregate-stats.sh     # :55 — агрегация

Подводные камни

  • Overlap. Если задача занимает >1 часа, две копии будут параллельно. Используйте flock или distributed lock.
  • Часовой пояс. 0 * * * * запускается в начале часа в timezone сервера. Для UTC vs МСК поведение РАЗНОЕ при анализе данных «за последний час».
  • Логирование. 8760 запусков в год = много логов. Используйте уровни (INFO + WARN/ERROR), ротацию.
  • Idempotency. Задача может запуститься дважды (после рестарта). Не должна делать дубль действий.
  • Производительность. Hourly = 168 раз в неделю. Тяжёлая задача, занимающая 30 минут × 168 = 84 часа/неделю CPU. Подумайте о времени выполнения.
ИСТОЧНИКИ
  1. POSIX crontab specification. IEEE / Open Group. pubs.opengroup.org/onlinepubs/9699919799/utilities/crontab.html. 2018.
  2. man crontab 5 — Linux. Linux Documentation Project. man7.org/linux/man-pages/man5/crontab.5.html. 2024.
  3. Site Reliability Engineering: How Google Runs Production Systems. Beyer, Jones, Petoff, Murphy. O'Reilly. 2016.
ЧАСТЫЕ ВОПРОСЫ

Часто задаваемые вопросы

0 * * * * — стандартное POSIX cron-выражение. Запускается в начале каждого часа: 00:00, 01:00, 02:00... 23:00 = 24 раза в сутки. Эквивалент алиаса @hourly. Простое и читаемое выражение, не требует пояснений.
@hourly = 0 * * * * — поддерживается Vixie cron (стандарт Linux), cronie, GNU mcron. НЕ поддерживается: Quartz (Java), некоторые managed services. AWS EventBridge поддерживает rate(1 hour) — другой синтаксис. Если сомневаетесь — пишите 0 * * * * явно. Работает везде.
Да: 30 * * * *. Запускается в 0:30, 1:30, 2:30... 23:30. Полезно когда хотите распределить нагрузку: «обычные» cron работают в :00, ваш — в :30 (нет конкуренции за CPU). Также можно 15 * * * * (в :15), 45 * * * * (в :45). Минута может быть от 0 до 59.
0 */2 * * * — каждые 2 часа от 00:00. Запускается в 00:00, 02:00, 04:00... 22:00 = 12 раз в сутки. Аналогично: 0 */3 * * * (каждые 3 часа), 0 */6 * * * (каждые 6 часов: 0, 6, 12, 18). Если хотите начать с 1:00 а не 0:00 — используйте список: 0 1,3,5,7,9,11,13,15,17,19,21,23 * * *.
0 9-18 * * 1-5 — каждый час с 9:00 до 18:00 в будние дни. Запускается в 9:00, 10:00... 18:00 (10 раз в день) × 5 дней = 50 раз в неделю. Полезно для: бизнес-алертов, обновления внутренних дашбордов (когда команда онлайн), syncro с внешними API (только в business hours).
Сбор метрик с серверов и приложений. Обновление кэша курсов валют (ЦБ обновляет днём). Проверка очередей на застрявшие задачи. Email-уведомления о новых событиях (digest за час). Health check внешних сервисов с алертом. Backup инкрементальный (каждый час дельта). Pull обновлений из git/sources. Ротация коротких токенов (если время жизни 2 часа).
Cron запустит вторую копию параллельно — может быть проблема. Решения: (1) Lock файл: <code>flock -n /tmp/myjob.lock /path/to/script || exit 1</code>. Если lock занят — пропускаем запуск. (2) Lock в БД (PostgreSQL: pg_try_advisory_lock). (3) Распределённая блокировка через Redis (SET key value NX EX 3600). (4) Системd timer с RemainAfterExit=yes. Для важных регулярных задач lock — обязательная защита.
0 */2 * * * — каждые 2 часа. 0 */3 * * * — каждые 3. 0 8-20 * * * — с 8 до 20 каждый час (13 запусков). 0 0,6,12,18 * * * — 4 раза в сутки (каждые 6 часов). Чем реже, тем меньше нагрузка. Спросите себя: «нужно ли РЕАЛЬНО каждый час, или раз в 2-3 часа достаточно?». Часто — да, можно реже.
Лиана Арифметова
АВТОРverifiedред. calcal.ru

Лиана Арифметова

Создатель и главный редактор

Миссия: демократизировать сложные расчёты. Превратить страх перед числами в ясность и контроль. Девиз: «Любая повторяющаяся задача заслуживает своего калькулятора».

Mathematical Engineering · МФТИ · редактирует каталог с 2012 года

Был ли этот калькулятор полезен?

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ

Инструмент справочный — не заменяет эксперта

Только для информационных целей. Все расчёты, результаты и данные, предоставляемые инструментом, носят исключительно ознакомительный и справочный характер. Они не являются профессиональной консультацией — медицинской, юридической, финансовой, инженерной или иной.

Точность результатов. Калькулятор основан на общепринятых формулах и методиках, однако фактические результаты могут отличаться в зависимости от индивидуальных условий, исходных данных и применяемых стандартов. Мы не гарантируем полноту, точность или актуальность приведённых расчётов.

Профессиональные решения — медицинские, финансовые, инженерные — должны приниматься только после консультации с квалифицированным специалистом. Не используйте автоматический расчёт как единственное основание для важных решений.

Ограничение ответственности. Авторы и разработчики сервиса не несут ответственности за прямой или косвенный ущерб, возникший из-за использования данных расчётов. Пользователь принимает на себя всю ответственность за интерпретацию результатов.