systemd サービスを開始する際に問題が発生する (Jessie)

systemd サービスを開始する際に問題が発生する (Jessie)

ネットワークを開始する前に実行する必要がある systemd サービスがあり、少し苦労しています。これによると: ネットワーク起動後のサービスの実行使用する必要がある前=ネットワーク-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

助言がありますか?

答え1

満たすことが不可能なことをリストしているので、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

答え2

私にとってはこれが効果的でした:

[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

関連情報