Калькулятор Cron для Linux

Калькулятор cron

Cron каждую минуту (максимальная частота)
Cron ежедневно в 3:00 (рекомендуется для ежедневных бэкапов)
Cron ежедневно в 12:00
Cron каждые 30 минут
Cron каждый час
Cron каждые 3 часа
Cron каждые 12 часов
Cron ежедневно в 00:00
Cron каждую неделю по понедельникам
Cron каждую неделю по вторникам
Cron каждую неделю по средам
Cron каждую неделю по четвергам
Cron каждую неделю по пятницам
Cron каждую неделю по субботам
Cron каждую неделю по воскресеньям
Cron раз в месяц 1 числа в 00:00
Cron раз в полгода 1 числа в 00:00
Cron раз в год 1 января в 00:00

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

Cron — это системный планировщик задач в Linux и Unix-подобных системах, который позволяет автоматически выполнять скрипты и команды по расписанию. Cron широко используется для:

  • Резервного копирования;
  • Отправки отчетов по email;
  • Очистки временных файлов;
  • Регулярного обновления данных;
  • Запуска любых скриптов в заданное время.

Каждое задание cron задается строкой, которая указывает, когда и как часто оно должно выполняться. Ошибки в cron выражении могут привести к тому, что задача не запустится или запустится в неправильное время.

Cron калькулятор онлайн — зачем он нужен

Создание cron job вручную может быть сложным, особенно для новичков. Наш cron калькулятор онлайн помогает:

  • Создавать корректные cron job без ошибок;
  • Проверять расписание и визуализировать выполнение задач;
  • Экономить время при настройке cron в Linux;
  • Использовать готовые шаблоны или вводить собственные значения вручную;
  • Избегать типичных ошибок при настройке cron.

Синтаксис cron (подробно о каждом поле)

Строка cron состоит из шести или семи полей, в зависимости от того, редактируется ли системный или пользовательский crontab:

# Для пользовательского crontab (через crontab -e):
* * * * * <команда>

# Для системного crontab (/etc/crontab или /etc/cron.d/):
* * * * * <user> <команда>
* * * * * <команда>
# | | | | |
# | | | | день недели (0–7, 0 и 7 — воскресенье)
# | | | месяц (1–12)
# | | день месяца (1–31)
# | час (0–23)
# минута (0–59)

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

  1. Минута (0–59) — указывает минуту запуска задачи.
    • * — каждую минуту
    • */5 — каждые 5 минут
    • 0,30 — 0 и 30 минут
  2. Час (0–23) — указывает час запуска задачи.
    • * — каждый час
    • */3 — каждые 3 часа
    • 9,18 — 9:00 и 18:00
  3. День месяца (1–31) — день месяца для выполнения задачи.
    • * — каждый день
    • 1,15 — 1-го и 15-го числа месяца
    • */2 — через день
  4. Месяц (1–12) — месяц запуска cron job.
    • * — каждый месяц
    • 1,7 — январь и июль
    • */6 — каждые 6 месяцев
  5. День недели (0–7) — день недели (0 и 7 — воскресенье).
    • * — каждый день недели
    • 1,3,5 — понедельник, среда, пятница
    • */2 — через день (в контексте недели)

Важно: если указаны и день месяца, и день недели, cron использует логическое ИЛИ. Задача выполнится либо по дню месяца, либо по дню недели.

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

  • * — любое значение
  • , — перечисление значений (1,2,5)
  • - — диапазон (1-5)
  • / — шаг (*/10 — каждые 10 единиц)

Типичные ошибки при настройке cron

  • Неправильное использование / (например, */31 в минутах не даст каждые 31 минуту, а только раз в час на 31-й минуте).
  • Совмещение дня месяца и дня недели без понимания логики ИЛИ.
  • Пропуск поля команды — задача не будет выполняться.
  • Ошибка в формате чисел (например, месяц 0 или день 32).

Использование утилиты crontab

Редактирование пользовательских cron job

  • crontab -e — открыть редактор для редактирования текущего пользователя.
  • crontab -l — вывести список cron job пользователя.
  • crontab -r — удалить все cron job пользователя.

В пользовательском crontab нет поля пользователя — все задачи выполняются от текущего пользователя.

Редактирование системного crontab

  • Файл /etc/crontab или файлы в /etc/cron.d/ содержат дополнительное поле пользователя.
  • Важно правильно указать имя пользователя, иначе задача не запустится.

Примеры cron job

1. Ежедневное резервное копирование VPS ночью (3:00)

0 3 * * * /bin/bash /root/backup_script_vps.sh >> /var/log/backup.log 2>&1

Таймлайн часов (0–23):
00 01 02 ⏰ 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23

Описание:
Запускается каждый день в 3:00 утра. Все действия логируются в /var/log/backup.log. Идеально для регулярного резервного копирования VPS без участия администратора.


2. Автоматическое обновление SSL сертификатов каждые 2 часа

0 */2 * * * root /usr/bin/letsencrypt renew

Таймлайн часов (0–23):
00 ⏰ 01 02 ⏰ 03 04 ⏰ 05 06 ⏰ 07 08 ⏰ 09 10 ⏰ 11 12 ⏰ 13 14 ⏰ 15 16 ⏰ 17 18 ⏰ 19 20 ⏰ 21 22 ⏰ 23

Описание:
Запуск каждые 2 часа для автоматического обновления SSL сертификатов. Полезно для серверов с часто истекающими сертификатами.


3. Перезапуск приложения каждые 2 дня в 10:00 с уведомлением на email

MAILTO=noc@example.net
0 10 */2 * * root /usr/local/repl/restart_repl.sh

Таймлайн дней месяца (1–14):
01 — 02 ⏰ 03 — 04 ⏰ 05 — 06 ⏰ 07 — 08 ⏰ 09 — 10 ⏰ 11 — 12 ⏰ 13 — 14 ⏰

Описание:
Перезапуск критичного приложения каждые два дня в 10:00. Отчет автоматически отправляется на указанный email, что позволяет контролировать стабильность работы сервиса.


4. Запуск задачи по будним дням в 8:00 утра

0 8 * * 1-5 /root/scripts/example.sh

Таймлайн дней недели (Пн–Вс):
Пн ⏰ Вт ⏰ Ср ⏰ Чт ⏰ Пт ⏰ Сб — Вс —

Описание:
Выполнение скрипта по будним дням в 8:00 утра. Отлично подходит для мониторинга, отчетности или регулярного обновления данных для сотрудников.


5. Комплексный бэкап: еженедельно и ежемесячно

# Раз в неделю по воскресеньям
0 4 * * 7 /bin/bash /root/backup_script_vps.sh >> /var/log/backup.log 2>&1

# 1-го числа каждого месяца
0 5 1 * * /bin/bash /root/backup_script_vps.sh >> /var/log/backup.log 2>&1

Таймлайн дней недели (еженедельно):
Пн — Вт — Ср — Чт — Пт — Сб — Вс ⏰

Таймлайн дней месяца (ежемесячно, числа 1–5):
01 ⏰ 02 — 03 — 04 — 05 —

Описание:
Обеспечивает надежную стратегию резервного копирования: еженедельно и ежемесячно. Подходит для серверов с критичными данными, где важна регулярность бэкапов.

Все эти выражения можно создать в нашем cron калькуляторе онлайн, проверить корректность и сразу использовать на сервере.

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

Наш калькулятор позволяет:

  • выбрать готовый шаблон из множества вариантов;
  • задать собственные значения вручную;
  • проверить cron job перед запуском;
  • получить строку cron, готовую для использования в Linux.

Это экономит время и минимизирует риск ошибок, особенно если вы создаёте сложные cron job с множественными условиями.

ЧАВО (FAQ) по кронам

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

Иногда не знаешь, от какого пользователя работают cron-задания. Команда ниже перебирает всех пользователей и показывает их crontab:

cat /etc/passwd | cut -d : -f1 | xargs -I % crontab -l -u %
Полезно для аудита и поиска неожиданных заданий.

Что такое демон cron?

Демон cron — это системная служба, которая работает в фоне и отвечает за выполнение заданий по расписанию. Он регулярно проверяет файлы crontab и системный файл /etc/crontab, а затем запускает команды в указанное время без вмешательства пользователя.

Что делает демон cron при изменении crontab?

Демон cron при каждой активации проверяет дату изменения файла /etc/crontab и директории /var/spool/cron/. Если они изменились, cron перечитывает все изменения и учитывает их при последующих вызовах.

Нужно ли перезапускать cron после редактирования пользовательского crontab?

Нет, перезапуск не нужен. После изменения пользовательского файла через crontab -e демон cron автоматически учтёт изменения при следующей активации.

Почему рекомендуется использовать команду crontab -e для редактирования?

При использовании crontab -e утилита корректно обновляет файлы в /var/spool/cron/ и уведомляет демон cron об изменениях. Ручное редактирование файлов в этой директории может привести к тому, что изменения не будут учтены.

Можно ли редактировать системный crontab /etc/crontab напрямую?

Да, для файла /etc/crontab можно использовать обычный текстовый редактор, но нужны права root. Демон cron проверяет дату изменения этого файла отдельно, поэтому изменения будут учтены без перезапуска.

Существуют ли современные альтернативы cron?

Да, помимо классического cron существуют более современные планировщики задач:

systemd timers — встроенные в systemd, позволяют запускать задачи с более гибкими триггерами и зависимостями.
Anacron — для выполнения задач, которые пропустились, например, если компьютер был выключен.
Kubernetes CronJobs — для контейнеризованных приложений в кластере Kubernetes.
Task Spoolers или сторонние планировщики (например, Jenkins, Airflow) — для сложных автоматизаций и пайплайнов.

Эти альтернативы часто используют в современных DevOps-средах, когда нужно больше контроля или интеграция с другими сервисами.

        DarkFire

        Формулируй вопросы так, чтобы на них можно было ответить "да" или "нет". Иначе зачем этот разговор? Если есть вопросы – загляни в WiKi.

        Оцените автора
        ВАУ! Это ТОП!
        Добавить комментарий