Инструмент для 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 часа.
Лиана Арифметова
АВТОРverifiedред. calcal.ru

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

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

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

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

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

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

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

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

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

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

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

СМЕЖНЫЕ ИНСТРУМЕНТЫ

Похожие калькуляторы

15

YAML валидатор и форматтер

Онлайн проверка и форматирование YAML-файлов. Валидация синтаксиса, конвертация YAML ↔ JSON, подсветка ошибок с номерами строк.

/yaml-validator

Калькулятор размера Docker-образа

Оценка размера Docker-образа по базовому образу и зависимостям. Сравнение base images, советы по оптимизации и multi-stage сборке.

/razmer-docker-obraza

Генератор systemd unit-файла

Создание .service и .timer unit-файлов с настройками безопасности. 5 типов сервиса, 5 политик Restart, готовые bash-команды установки.

/generator-systemd-unit-fajla

Конвертер Unix Timestamp ↔ дата

Онлайн конвертер Unix Timestamp в дату и обратно. Текущий Unix-таймстемп, конвертация с учётом часовых поясов России, форматы ISO 8601 и RFC 2822.

/konverter-unix-timestamp

Калькулятор SLA / стоимости простоя

Расчёт допустимого простоя по SLA (99.9% → минуты в год). Калькулятор стоимости даунтайма и обратный расчёт SLA по фактическому простою.

/kalkulyator-sla-uptime

Генератор nginx конфига

Server-блок nginx с SSL Let’s Encrypt, HTTP/2, gzip, HSTS, CSP, кешированием и rate limit. 4 сценария: proxy, статика, PHP, SPA.

/generator-nginx-konfiga-server-block

Генератор Cron выражений (Crontab)

Создать и расшифровать Cron выражения онлайн. Удобный генератор расписания для скриптов и серверов. Перевод на понятный язык.

/cron-expression-generator

CI/CD калькулятор: пайплайн, кэш, тесты, раннеры, деплой

Комплексный CI/CD калькулятор: оптимизация пайплайна (критический путь, параллелизация), кэш сборки (hit ratio, ROI), анализ тестов (flaky, шардирование), артефакты (Docker, npm), раннеры (автоскейлинг) и стратегии деплоя (Blue-Green, Canary, Rolling).

/ci-cd-calculator

Объединить PDF онлайн — без загрузки на сервер

Склейка PDF в браузере через pdf-lib. До 20 файлов, до 50 МБ каждый. Локально, без отправки на сервер (152-ФЗ).

/obyedinit-pdf-onlajn-besplatno

Сжать PDF онлайн — уменьшить размер локально

Сжатие PDF в браузере без потери качества. 3 уровня (object streams, удаление метаданных). До 50 МБ. Через pdf-lib, локально.

/szhat-pdf-onlajn-umenshit-razmer

Разделить PDF на страницы — извлечь нужные онлайн

Разделение PDF на страницы локально: каждая страница отдельным файлом, диапазон или группами. Через pdf-lib, без отправки на сервер.

/razdelit-pdf-na-stranicy-onlajn

JPG в PDF — конвертер с объединением

Конвертация JPG/PNG в PDF в браузере: до 30 картинок в один документ. Форматы A4/A3/Letter или подгонка под изображение.

/jpg-v-pdf-konverter

Повернуть страницы PDF онлайн

Поворот всех или указанных страниц PDF на 90/180/270° за миллисекунды. Lossless. Через pdf-lib, без отправки на сервер.

/povernut-pdf-stranitsy-onlajn

Водяной знак на PDF онлайн (кириллица)

Нанесение текстового знака («КОНФИДЕНЦИАЛЬНО», «ЧЕРНОВИК») на все страницы PDF. Поддержка русского текста через Canvas. 4 положения, регулировка прозрачности.

/dobavit-vodyanoj-znak-na-pdf

Нумерация страниц PDF онлайн

Проставьте номера страниц PDF в браузере: 4 формата, 6 положений, пропуск титульной, кастомный старт. Поддержка кириллицы. Через pdf-lib + Canvas.

/numerovat-stranitsy-pdf-onlajn