Описание проблемы:
При загрузке мы запускаем сценарий инициализации службы, показанный ниже. Скрипт является частью экземпляра Данные пользователя
.
Этот скрипт копирует необходимые сервисы/таймеры в системад
папку и запускает таймер.
Время от времени после перезагрузки наши таймеры не работают и остаются в Н/Д
.
sudo systemctl перезапустить cleanup.timer
команда не помогает.
Только судо systemctl остановить cleanup.timer
а потом sudo systemctl запустить cleanup.timer
работает.
У нас эта проблема не только с конкретным таймером. У нас есть много таймеров с почти одинаковой структурой и сервисом инициализации. Все таймеры загружены, но некоторые из них могут активен (истёк)
статус и не работает.
Наша установка:
Мы бежим Убунту 18.04 ЛТС
.
У нас есть этот скрипт инициализации службы:
sudo cp <ОСНОВНОЙ ПУТЬ>/services/cleanup.service/etc/systemd/system/cleanup.service
sudo cp <ОСНОВНОЙ ПУТЬ>/services/cleanup.timer /etc/systemd/system/cleanup.timer
sudo systemctl демон-перезагрузка
sudo systemctl запустить cleanup.timer
И это уборка.сервис
:
[Ед. изм]
Description=Сервис для очистки вещей
Требует = docker.service
После=докер.сервис
[Оказание услуг]
ExecStart=<<КОМАНДА ОБОЛОЧКИ>>
И это очистка.таймер
:
[Ед. изм]
Description=Таймер службы по уборке вещей
[Таймер]
OnBootSec=1мин
OnUnitActiveSec=1800 сек.
Точность сек = 5 сек
[Установить]
WantedBy=timers.target
Теперь проверьте эти команды:
> список таймеров sudo systemctl
СЛЕДУЮЩИЙ СЛЕВА ПОСЛЕДНИЙ ПРОЙДЕННЫЙ БЛОК АКТИВИРУЕТСЯ
н/д н/д н/д н/д cleanup.timer cleanup.service
> статус sudo systemctl cleanup.timer
• cleanup.timer — Таймер службы очистки вещей
Загружено: загружено (/etc/systemd/system/cleanup.timer; отключено; предустановка поставщика: включена)
Активен: активен (истёк) с 17.11.2021 21:07:22 UTC; 11 часов назад
Триггер: н/д
17 ноября, 21:07:22 ip-XX-XX-XX-XX systemd[1]: запущен таймер для службы очистки вещей.
Вопрос:
С чем может быть связана такая ситуация и как ее избежать?