終了時にスクリプトを実行するために使用されるシステムサービスファイルが起動時に実行されるように変更されました。

終了時にスクリプトを実行するために使用されるシステムサービスファイルが起動時に実行されるように変更されました。

私はこれらのサービスファイルを書くのが初めてで、スタックとUnixのオーバーフローに関するいくつかのブログに従ってシステムサービスファイルを作成しました。

終了時に実行する必要があるスクリプトがあり、dockerデーモンを実行する必要があります。サービスファイルは次のとおりです

[Unit]
Description=Shutdown script
Before=shutdown.target
Requires=docker.service

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStop=/path/to/script

[Install]
WantedBy=multi-user.target

シェルスクリプト(スクリプトの実行)に以下を追加して、インスタンスの起動スクリプトで上記のサービスを自動的に作成/有効にします。

chmod +x /path/to/script
if [ ! -f "/etc/systemd/system/path.service" ]; then
  cp  file/path.service /etc/systemd/system/path.service
  systemctl daemon-reload
fi
systemctl enable path.service

終了するたびに実行したいのですが、インスタンスの起動時に実行されます。上記のサービスファイルに私が間違ったことがありますか?

ベストアンサー1

[Install]
WantedBy=multi-user.target

終了時にサービスを実行するのではなく、起動時にサービスを実行してください。欲しい

[Install]
WantedBy=shutdown.target

おすすめ記事