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