TIMER CRON
Конвертация файлов

Конвертировать TIMER в CRON

БЫСТРЫЙ ОТВЕТ
Возможно ли конвертировать TIMER в CRON?
Да - TIMER конвертируется в CRON.

Прочитайте строку OnCalendar= в юните .timer и перепишите это расписание как стандартное выражение cron в вашем crontab, указав на команду, которую запускает соответствующий сервис. Это ручная перезапись, так как нет инструмента для автоматической конвертации таймера systemd в запись cron.

На этой странице

Протестировано на macOS, Windows и Linux
Последняя проверка: Sep 2026

Больше бесплатных конвертеров

HEIC, PNG, WEBP, MP3 и другие - все инструменты здесь бесплатны.

Открыть инструменты

Зачем конвертировать TIMER в CRON?

Таймер systemd .timer и задание cron оба планируют повторяющиеся команды, поэтому администраторы, уходящие с systemd, хотят видеть то же расписание, выраженное в синтаксисе .CRON. Календарное выражение OnCalendar= чисто сопоставляется с полями cron (минута-час-день-месяц-день недели) для большинства обычных расписаний.

Способы конвертации TIMER в CRON

crontab + ручное сопоставление FREE

Запустите crontab -e и добавьте строку, пять временных полей которой соответствуют таймеру, например, OnCalendar=*-*-* 02:00:00 превращается в 0 2 * * * /path/to/command.

systemd-analyze calendar FREE

Запустите systemd-analyze calendar "*-*-* 02:00:00", чтобы подтвердить точное время следующего запуска значения OnCalendar, прежде чем переводить его в поля cron.

Об этих форматах

Качество и на что обратить внимание

  • Переносится только расписание; команда, окружение и пользователь берутся из соответствующего файла .service и должны быть добавлены в строку cron вами самостоятельно.
  • Дополнительные функции systemd, такие как Persistent= (наверстывание после простоя), RandomizedDelaySec= и окна точности, не имеют эквивалентов в cron и будут потеряны.
  • Выражения OnCalendar с точностью до секунд или сложные выражения не могут быть представлены в пятипольном синтаксисе cron с минутной точностью.

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

Существует ли автоматический конвертер таймеров в cron?
Нет; вы сопоставляете расписание OnCalendar= с полями cron вручную, опционально проверяя результат с помощью systemd-analyze calendar и crontab.guru.
Откуда берется команда для строки cron?
Из параметра ExecStart= в соответствующем юните .service, который активирует таймер.
Как конвертировать расписания в стиле `@daily`?
OnCalendar=*-*-* 00:00:00 соответствует @daily или 0 0 * * * в cron.
Будут ли работать запуски для наверстывания упущенного?
Нет; cron не будет повторно запускать пропущенные задачи так, как это делает таймер с параметром Persistent=true.