Назад | Перейти на главную страницу

Проблемы с запуском службы systemd (Джесси)

У меня есть служба systemd, которую мне нужно запустить до начала работы в сети, и я немного борюсь с ней. Согласно этому: Запуск служб после включения сети Мне нужно использовать До = network-pre.target, однако моя служба не запускается.

Зависимости:

root@server:~# systemctl list-dependencies my-script --reverse
my-script.service
● └─network-pre.target (has a red dot next to it)

Собственно сам агрегат:

[Unit]
Description=My script
Before=network-pre.target
Wants=network-pre.target

[Service]
ExecStart=/etc/my-script
Type=oneshot
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

Какие-либо предложения?

Это то, что сработало для меня:

[Unit]
Description=@CPACK_PACKAGE_DESCRIPTION_SUMMARY@

Before=network-pre.target
Wants=network-pre.target

DefaultDependencies=no
Requires=local-fs.target
After=local-fs.target

[Service]
Type=oneshot

ExecStart=/sbin/my-script.sh

RemainAfterExit=yes

[Install]
WantedBy=network.target

Удалите строку Wants =, поскольку вы перечисляете то, что невозможно удовлетворить: запускайте службу до network-pre.target, но также и после (Wants) ее. Таким образом, единица должна читаться как:

[Unit]
Description=My script
Before=network-pre.target

[Service]
ExecStart=/etc/my-script
Type=oneshot
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target