systemd単位で「Requires」オプションを正しく使用するには?

systemd単位で「Requires」オプションを正しく使用するには?

自宅で作成したいくつかのシステムサービスを使用して何年も問題なくこのホストを実行した後、一定期間マリヤブをシャットダウンする必要がある計画されたメンテナンスを実行した後、いくつかの苦情を受けました。知ってみたら、私はすでにそうでした。

Requires = mariadb.service

ユニットファイルでは、これらのユニットは mariadb が閉じたときの依存関係の競合により終了します。

これは驚くべきことではありませんが、やや危険です。これは、一時的にシャットダウンされたサービスのために停止したデバイスが依存サービスの再起動時に再起動できるかどうかをsystemdが自動的にチェックしないためです。

依存関係を削除し、サービスに欠落しているデータベースを処理するようにしました。最悪の場合、競合が発生し、systemdによって自動的に再起動されます。

「よりきれいな」方法はありますか?同じ方法で重要なシステムサービスを誤ってシャットダウンしないかどうかはどうすればわかりますか?

はい、次の内容を読みました。systemd "Requires ="オプションについて学びます。しかし、それは他の問題に対処します。

ベストアンサー1

おすすめ記事