Я написал сценарий bash, который хочу запускать каждые 60 секунд (не волнуйтесь, я пробовал сценарий, он отлично работает).
Теперь я хотел реализовать это в systemd .service
файл, но пока не перезапускается. Сценарий выполняется один time и заканчивается с кодом возврата 0, а затем служба останавливается (навсегда). Итак, он просто запускает, а потом заканчивается.
Он не перезапускается. Я пробовал много разных вещей с RemainAfterExit
, StartLimitIntervalSec
или StartLimitBurst
, но ничего не получилось.
[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 и может мне помочь? Большое спасибо!
* 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.
* 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 была намного проще
[Service]
User=myuser
Restart=allways # << fix that
RestartSec=60s
ExecStart=/bin/bash /home/myuser/start.sh
StartLimitIntervalSec=0
Вы неправильно написали "always" в "Restart =".