Таймер не запускается командой пользовательских данных после перезагрузки
Описание проблемы:
При загрузке мы запускаем сценарий инициализации службы, показанный ниже. Скрипт является частью экземпляраUser Data
.
Этот скрипт копирует необходимые элементы службы/таймера вsystemd
папку и запускает таймер.
Время от времени после перезагрузки наши таймеры не работают и остаются включенными.N/A
.
The sudo systemctl restart cleanup.timer
команда не помогает.
Только судоsystemctl stop cleanup.timer
а потомsudo systemctl start cleanup.timer
работает.
У нас такая проблема не только с конкретным таймером. Мы получили множество таймеров с почти одинаковой структурой и службой инициализации. Все таймеры загружены, но некоторые из них могут быть включены.active (elapsed)
статус и не работает.
Наша установка:
Мы бегаемUbuntu 18.04 LTS
.
У нас есть этот скрипт инициализации службы:
sudo cp <BASIC PATH>/services/cleanup.service /etc/systemd/system/cleanup.service
sudo cp <BASIC PATH>/services/cleanup.timer /etc/systemd/system/cleanup.timer
sudo systemctl daemon-reload
sudo systemctl start cleanup.timer
И этоcleanup.service
:
[Unit]
Description=Service to cleanup things
Requires=docker.service
After=docker.service
[Service]
ExecStart=<<SHELL COMMAND>>
И этоcleanup.timer
:
[Unit]
Description=Timer for service to cleanup things
[Timer]
OnBootSec=1min
OnUnitActiveSec=1800sec
AccuracySec=5sec
[Install]
WantedBy=timers.target
Теперь проверьте эти команды:
> sudo systemctl list-timers
NEXT LEFT LAST PASSED UNIT ACTIVATES
n/a n/a n/a n/a cleanup.timer cleanup.service
> sudo systemctl status cleanup.timer
● cleanup.timer - Timer for service to cleanup things
Loaded: loaded (/etc/systemd/system/cleanup.timer; disabled; vendor preset: enabled)
Active: active (elapsed) since Wed 2021-11-17 21:07:22 UTC; 11h ago
Trigger: n/a
Nov 17 21:07:22 ip-XX-XX-XX-XX systemd[1]: Started Timer for service to cleanup things.
Вопрос:
В чем может быть причина такой ситуации и как ее избежать?