systemd Linux

systemd: таймер не срабатывает — OnCalendar, enable и journalctl

  • Обновлено
  • Чтение ≈ 2 минуты

Краткий ответ

Таймер должен быть включён и соответствующий service существовать. Проверьте systemctl list-timers.

В этой статье
  1. Что означает ошибка
  2. Причины и признаки
  3. Пошаговое решение
  4. Если проблема осталась

#Что означает ошибка

Сообщение
Таймер не срабатывает

Таймер должен быть включён и соответствующий service существовать. Проверьте systemctl list-timers.

#Причины и признаки

Возможная причинаКак узнатьЧто делать
Таймер не включёнВ случае «systemd: таймер не срабатывает — OnCalendar, enable и journalctl» проверьте наличие причины «Таймер не включён» по исходному действию и связанному сообщению; переходить к исправлению стоит после её подтверждения.Включите. Конкретное действие зависит от проверки причины «Таймер не включён», описанной в пошаговой инструкции.
Неверный OnCalendarВ случае «systemd: таймер не срабатывает — OnCalendar, enable и journalctl» проверьте наличие причины «Неверный OnCalendar» по исходному действию и связанному сообщению; переходить к исправлению стоит после её подтверждения.Проверьте. Конкретное действие зависит от проверки причины «Неверный OnCalendar», описанной в пошаговой инструкции.
Нет serviceВ случае «systemd: таймер не срабатывает — OnCalendar, enable и journalctl» проверьте наличие причины «Нет service» по исходному действию и связанному сообщению; переходить к исправлению стоит после её подтверждения.Создайте
PersistentНе нагоняет. Сопоставьте этот признак с точной стадией возникновения неисправности.Включите. Конкретное действие зависит от проверки причины «Persistent», описанной в пошаговой инструкции.

#Пошаговое решение

  1. Определите причинуОткройте терминал и выполните systemctl list-timers --all, найдите нужный таймер и сравните NEXT, LAST, PASSED, UNIT. Если строка отсутствует, проверьте реальное имя .timer через systemctl list-unit-files --type=timer; не путайте запуск .timer с запуском соответствующей .service.
  2. Выполните подходящее исправлениеВыполните systemctl cat имя.timer и проверьте OnCalendar=, Persistent=, AccuracySec= и привязку Unit=. Для проверки выражения времени используйте systemd-analyze calendar "выражение"; учитывайте часовой пояс сервера через timedatectl, а не своего компьютера.
  3. Проверьте другие возможные причиныЕсли таймер не активен, выполните sudo systemctl enable --now имя.timer только после проверки того, что вызываемая служба безопасна и не выполняет разрушительных действий. Посмотрите состояние через systemctl status имя.timer, а затем journalctl -u имя.service для фактических результатов выполнения.
  4. Убедитесь в результатеПовторите systemctl list-timers --all и проверьте, что следующая дата появилась, а после наступления срока обновилось LAST. Если таймер сработал, но работа не выполнена, диагностируйте .service и его окружение; отсутствие сообщений таймера не доказывает успешность задания.
  5. Список таймеров
    Linux · Терминал (Bash)Команда
    Список таймеров.
    systemctl list-timers --all

#Если проблема осталась

Если «systemd: таймер не срабатывает — OnCalendar, enable и journalctl» повторяется, сохраните время, состояние подключения и точный текст ошибки. Не меняйте сразу несколько настроек — иначе станет трудно понять, какое действие повлияло на результат.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.