systemd не может перезапустить служебный файл
Я написал скрипт bash, который хочу запускать каждые 60-е годы (не волнуйтесь, я попробовал скрипт, он отлично работает).
Теперь я хотел реализовать это в systemd .service
файл, но пока он не перезапускается. Сценарий выполняется один раз и заканчивается кодом возврата 0, а затем служба останавливается (навсегда). Итак, он просто запускает один, но потом он заканчивается.
Это не перезапустится. Я перепробовал много разных вещей с RemainAfterExit
, StartLimitIntervalSec
или же StartLimitBurst
, но ничего не получалось.
Вот мой.service-файл:
[Unit]
Description=ExampleScript
[Service]
User=myuser
Restart=allways
RestartSec=60s
ExecStart=/bin/bash /home/myuser/start.sh
StartLimitIntervalSec=0
[Install]
WantedBy=multi-user.target
Может, кто-то из вас, ребята, знает о System.d и может мне помочь? Большое спасибо!
PS:
сервис-статус при запуске скрипта:
* examplescript.service - ExampleScript
Loaded: loaded (/usr/lib/systemd/system/examplescript.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2018-06-29 23:58:04 CEST; 1s ago
Main PID: 31860 (bash)
Memory: 15.6M
CGroup: /system.slice/examplescript.service
|-31860 /bin/bash /home/myuser/start.sh
|-31862 /bin/bash /home/myuser/script/subscript.sh
`-31871 python /home/myuser/script/subscript.py
Jun 29 23:58:04 mysystem systemd[1]: Started ExampleScript.
service-status после завершения скрипта с rc0:
* examplescript.service - ExampleScript
Loaded: loaded (/usr/lib/systemd/system/examplescript.service; enabled; vendor preset: disabled)
Active: inactive (dead) since Fri 2018-06-29 23:58:48 CEST; 2min 42s ago
Process: 31860 ExecStart=/bin/bash /home/myuser/start.sh (code=exited, status=0/SUCCESS)
Main PID: 31860 (code=exited, status=0/SUCCESS)
Jun 29 23:58:04 mysystem systemd[1]: Started ExampleScript.
... systemd так чертовски сложен, cron-job был намного проще
1 ответ
[Service]
User=myuser
Restart=allways # << fix that
RestartSec=60s
ExecStart=/bin/bash /home/myuser/start.sh
StartLimitIntervalSec=0
Вы ошиблись "всегда" на "Restart=".