calcal.ru
Инструмент для DevOps и системных администраторов

Генератор Cron-выражений

Создавайте cron-расписания визуально, без запоминания синтаксиса. Получайте понятное описание на русском языке и предпросмотр ближайших запусков задачи.

5
Полей в выражении
Минута, час, день, месяц, день недели
60+
Комбинаций пресетов
Готовые расписания для типовых задач
100%
Совместимость
Работает с crontab Linux, macOS, Kubernetes
0 ₽
Полностью бесплатно
Без регистрации и ограничений

Что такое Cron и зачем он нужен

Cron — это стандартный планировщик задач в Unix-подобных операционных системах (Linux, macOS, FreeBSD). Он позволяет автоматически запускать команды и скрипты по заданному расписанию: от ежеминутного выполнения до запуска раз в год. Название происходит от греческого слова chronos — время.

🕐

Демон cron

Cron работает как фоновый процесс (демон), который постоянно запущен в системе. Каждую минуту он проверяет таблицу расписаний (crontab) и запускает задачи, время которых совпало с текущим моментом. Управление через команду crontab -e.

📋

Файл crontab

Каждый пользователь системы имеет свой файл crontab, содержащий расписание задач. Каждая строка — это одна задача: пять полей расписания и команда для выполнения. Системный crontab находится в /etc/crontab и поддерживает шестое поле — имя пользователя.

🔄

Современные альтернативы

Помимо классического cron, существуют systemd timers в Linux, launchd в macOS, а также облачные планировщики: Kubernetes CronJob, AWS EventBridge, GitHub Actions cron. Все они используют тот же формат cron-выражений.

Где используются cron-задачи

Cron-расписания — универсальный механизм автоматизации, применяемый во всех областях IT: от домашнего сервера до крупных облачных инфраструктур.

🔧

DevOps и CI/CD

Автоматический деплой, ротация логов, очистка временных файлов, перезапуск сервисов. GitHub Actions, GitLab CI и Jenkins используют cron-синтаксис для расписания пайплайнов.

💾

Резервное копирование

Ночные бэкапы баз данных (pg_dump, mysqldump), инкрементальные копии файловой системы (rsync, borgbackup), синхронизация с облачным хранилищем (rclone, s3cmd).

📊

Аналитика и отчёты

Ежедневная агрегация данных, генерация PDF-отчётов, отправка дайджестов по email. ETL-процессы и обновление дашбордов по расписанию.

🔒

Безопасность

Ротация SSL-сертификатов (certbot renew), обновление списков блокировки, сканирование на уязвимости (ClamAV, rkhunter), проверка целостности файлов.

📧

Уведомления и рассылки

Отправка напоминаний, email-рассылок, push-уведомлений. Проверка состояния сервисов (healthcheck) и оповещение администраторов при сбоях.

🌐

Веб-разработка

Очистка кэша, обновление поисковых индексов, генерация sitemap.xml, пересборка статических сайтов. WordPress использует wp-cron для отложенных публикаций.

Синтаксис cron/ полное руководство

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

Общий формат

┌──────── минута (0-59)
│ ┌────── час (0-23)
│ │ ┌──── день месяца (1-31)
│ │ │ ┌── месяц (1-12)
│ │ │ │ ┌ день недели (0-6, 0=воскресенье)
* * * * * команда

Специальные символы

*

Любое значение. * * * * * — каждую минуту.

,

Список значений. 1,15 — 1-го и 15-го числа.

-

Диапазон. 1-5 — с понедельника по пятницу.

/

Шаг. */5 — каждые 5 единиц.

Подробно о каждом поле

Минута

Значения 0-59. Пример: 30 — на 30-й минуте, 0,30 — каждые полчаса, */10 — каждые 10 минут.

Час

Значения 0-23 (24-часовой формат). Пример: 9 — в 9 утра, 0 — в полночь, 9-17 — каждый час с 9 до 17.

День

Значения 1-31. Пример: 1 — первое число, 1,15 — 1-го и 15-го, */2 — каждые 2 дня.

Месяц

Значения 1-12 или JAN-DEC. Пример: 1,4,7,10 — ежеквартально, */3 — каждые 3 месяца.

День нед.

Значения 0-6 (0 и 7 = воскресенье) или SUN-SAT. Пример: 1-5 — будни, 0,6 — выходные.

Совет: если указаны одновременно день месяца и день недели (оба не *), задача выполнится в оба момента (по ИЛИ). Например, 0 9 15 * 1 запустится 15-го числа И каждый понедельник.

Важно: cron не гарантирует точность до секунды. Минимальный интервал — 1 минута. Если нужна точность в секундах, используйте systemd timers с параметром OnCalendar или sleep в скрипте.

Примеры cron-выражений

Самые востребованные расписания для серверных задач, бэкапов, мониторинга и автоматизации. Нажмите на пример, чтобы скопировать выражение.

* * * * *

Каждую минуту

Мониторинг, healthcheck, очереди

*/5 * * * *

Каждые 5 минут

Проверка состояния сервисов

0 * * * *

Каждый час (в :00)

Сбор метрик, обновление кэша

0 0 * * *

Каждый день в полночь

Ночные бэкапы, ротация логов

0 6 * * *

Каждый день в 6:00

Утренние отчёты, рассылки

0 9 * * 1-5

Будни в 9:00

Рабочие задачи, дейли-статус

0 0 * * 0

Каждое воскресенье в полночь

Еженедельная очистка, отчёты

0 0 1 * *

Первое число каждого месяца

Месячные отчёты, обновление данных

0 3 * * 0

Воскресенье в 3:00

Полный бэкап, обслуживание БД

30 4 1,15 * *

1-го и 15-го в 4:30

Формирование зарплатных ведомостей

0 */6 * * *

Каждые 6 часов

Синхронизация данных, обновление индексов

0 0 1 1 *

1 января в полночь

Ежегодное архивирование, обнуление счётчиков

Советы и лучшие практики

Рекомендации от системных администраторов и DevOps-инженеров для надёжной работы cron-задач.

1Логируйте вывод задач

Всегда перенаправляйте stdout и stderr в лог-файл. Без этого ошибки пропадут бесследно. Используйте: /path/script.sh >> /var/log/myjob.log 2>&1. Настройте ротацию логов через logrotate, чтобы диск не переполнялся.

2Используйте полные пути

Cron запускает команды в минимальном окружении без вашего PATH. Вместо python script.py пишите /usr/bin/python3 /home/user/script.py. Либо задайте PATH в начале crontab.

3Защищайтесь от пересечения

Если задача выполняется дольше интервала, следующий запуск может конфликтовать с предыдущим. Используйте flock для блокировки: flock -n /tmp/job.lock /path/script.sh. Это гарантирует, что одновременно работает только одна копия.

4Учитывайте часовой пояс

Cron использует системное время сервера. Если сервер в UTC, а вам нужно московское время (MSK = UTC+3), вычитайте 3 часа. Либо установите переменную CRON_TZ=Europe/Moscow в crontab (поддерживается в Vixie cron).

5Мониторьте выполнение

Используйте сервисы вроде Healthchecks.io или Dead Man's Snitch: задача отправляет HTTP-запрос по завершении, а сервис уведомляет вас, если запуск не произошёл. Это критично для бэкапов и важных ночных процессов.

6Тестируйте перед деплоем

Перед добавлением в crontab запустите скрипт вручную от имени того же пользователя: sudo -u www-data /path/script.sh. Проверьте права доступа, переменные окружения и зависимости. Распространённая ошибка: скрипт работает от root, но падает от www-data.

Как пользоваться генератором

Простая инструкция для создания cron-расписания за несколько секунд.

1

Выберите интервалы

Используйте выпадающие списки для каждого из пяти полей: минута, час, день, месяц, день недели. Или перейдите во вкладку «Пресеты» для готовых расписаний.

2

Проверьте описание

Генератор автоматически переводит cron-выражение на русский язык. Убедитесь, что описание соответствует вашим ожиданиям.

3

Просмотрите запуски

В блоке «Ближайшие 5 запусков» отображаются конкретные даты и время. Это поможет убедиться, что расписание корректно.

4

Скопируйте результат

Нажмите «Копировать» и вставьте выражение в crontab -e, Kubernetes CronJob, GitHub Actions или любой другой планировщик.

Наш генератор также полезен при работе с API rate limit, настройке автоматизированного тестирования и планировании задач в DevOps-конвейерах. Если вы работаете с серверным мониторингом, обратите внимание на сетевой калькулятор.

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

Cron — это стандартный планировщик задач в операционных системах Linux, macOS и FreeBSD. Он позволяет автоматически запускать скрипты и команды по расписанию: каждую минуту, каждый час, в определённый день недели или месяца. Используется для бэкапов, ротации логов, отправки отчётов, обновления данных и любых других повторяющихся операций.
Стандартное cron-выражение состоит из пяти полей, разделённых пробелами: минута (0-59), час (0-23), день месяца (1-31), месяц (1-12), день недели (0-6, где 0 — воскресенье). Каждое поле может содержать конкретное число, символ * (любое значение), диапазон (1-5), список (1,3,5) или шаг (*/5). После пяти полей указывается команда для выполнения.
Откройте терминал и выполните команду crontab -e — откроется редактор с вашим расписанием. Добавьте новую строку с cron-выражением и командой, например: 0 3 * * * /home/user/backup.sh. Сохраните файл и выйдите из редактора. Проверить текущие задачи можно командой crontab -l. Для редактирования системного crontab используйте sudo crontab -e или редактируйте /etc/crontab.
Звёздочка (*) означает «любое значение» или «каждый». Например, * в поле минут означает «каждую минуту», * в поле часов — «каждый час». Выражение * * * * * запускает задачу каждую минуту каждого часа каждого дня. Символ */ с числом задаёт шаг: */5 в поле минут означает «каждые 5 минут» (0, 5, 10, 15...).
Используйте шаговый синтаксис */N в поле минут. Например: */5 * * * * — каждые 5 минут, */15 * * * * — каждые 15 минут, */30 * * * * — каждые 30 минут. Обратите внимание: если нужен интервал, который не делит 60 нацело (например, каждые 7 минут), результат будет не совсем равномерным — cron сбросит счётчик в начале каждого часа.
Нет, стандартный cron работает с минимальным интервалом в 1 минуту. Для задач с интервалом менее минуты используйте systemd timers (в Linux), которые поддерживают секунды и микросекунды. Альтернатива — запустить через cron раз в минуту скрипт, который внутри использует цикл с sleep: while true; do /path/script.sh; sleep 10; done.
Пользовательский crontab (редактируемый через crontab -e) содержит задачи конкретного пользователя и имеет 5 полей расписания + команда. Системный /etc/crontab содержит 6 полей: после расписания указывается имя пользователя, от которого запускается задача, затем команда. Также существуют директории /etc/cron.d/, /etc/cron.daily/, /etc/cron.hourly/ для размещения скриптов.
Kubernetes поддерживает ресурс CronJob, который использует тот же синтаксис cron-выражений. В манифесте YAML укажите schedule: "0 3 * * *" и spec с шаблоном пода. Kubernetes автоматически создаёт Job-ы по расписанию. Дополнительные параметры: concurrencyPolicy (Forbid/Replace/Allow), startingDeadlineSeconds, successfulJobsHistoryLimit.
Проверьте: 1) работает ли демон cron (systemctl status cron); 2) есть ли задача в crontab -l; 3) правильно ли указаны пути к скриптам (используйте абсолютные); 4) есть ли права на выполнение (chmod +x script.sh); 5) проверьте системный лог (grep CRON /var/log/syslog); 6) убедитесь, что переменные окружения доступны (cron запускает задачи в минимальном окружении); 7) проверьте, нет ли ошибок синтаксиса в скрипте.
Да. GitHub Actions поддерживает cron-синтаксис в триггере schedule: - cron: '0 9 * * 1-5'. GitLab CI использует аналогичный формат в rules: - if с variables. Выражения, сгенерированные нашим инструментом, полностью совместимы с этими платформами. Обратите внимание: GitHub Actions работает в UTC, поэтому для московского времени вычитайте 3 часа.
Лиана Арифметова
Создатель

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

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

⚖️

Отказ от ответственности

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

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

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

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

Похожие инструменты

🏗️

Калькулятор водоснабжения дома

Расчёт системы водоснабжения частного дома: пиковый расход воды, диаметр труб ПНД, давление, мощность насоса, объём гидроаккумулятора.

🏠

Калькулятор шашлыка

Расчёт мяса, маринада, углей и овощей для шашлыка на компанию

💻

Калькулятор расстояния между координатами (геокодер)

Рассчитайте точное расстояние между двумя точками по широте и долготе. Формула Хаверсина. Поддержка поиска адресов.

🧮

Генератор контент-плана для соцсетей

Создание контент-плана для VK, Telegram, Instagram, YouTube. Идеи постов по рубрикам, типам и частоте публикаций.

🏗️

Калькулятор поликарбоната

Расчёт листов поликарбоната на теплицу, навес или козырёк с учётом стыков, крепежа и стоимости

🏥

Калькулятор биомеханики: нагрузка на позвоночник, прыжок, бег и мышцы Хилла

Биомеханические расчёты: модель Чаффина, кинетика прыжка и бега, центр масс (Де Лева), сила удара, модель мышцы Хилла.

🏥

Калькулятор гликемической нагрузки

Рассчитайте гликемическую нагрузку (GL) продуктов. Важно для диабетиков и контроля веса. Отличие от ГИ.

🧮

Калькулятор пауэрлифтинга: 1RM, Wilks, IPF GL, нагрузка

Расчёт одноповторного максимума (1RM), баллов Wilks и IPF GL, программирование нагрузки, весовые категории и прогноз результатов.

🧮

Калькулятор профессиональной пригодности

Тест на способности и профессиональную пригодность. Оцените свои вербальные, числовые, логические и пространственные способности для выбора карьеры.

🏠

Калькулятор расхода бытовой химии

Расчёт расхода стирального порошка, средств для мытья и уборки на месяц и год.

🏗️

Калькулятор объёма гравия для дорожки

Расчёт объёма щебня и гравия для садовой дорожки, площадки, отмостки. Вес, количество самосвалов, многослойный расчёт.

🧮

Конвертер размеров колец

Конвертация размеров колец: RU ↔ EU ↔ US ↔ UK ↔ мм. По окружности и диаметру пальца.

🧮

Калькулятор взноса на капитальный ремонт

Расчёт ежемесячного взноса на капремонт по вашему региону. Ставки по всем регионам России. Льготы пенсионерам и инвалидам.

🏠

Калькулятор шин и дисков: подбор размера и сравнение

Сравните два размера шин и дисков. Расчёт диаметра колеса, погрешности спидометра, изменения клиренса. Визуальное сравнение R13–R22.

⚙️

Калькулятор точки росы

Температура точки росы по температуре и влажности. Абсолютная влажность, риск конденсата на стенах. Для ОВиК.