systemd サービスを定期的に再起動するように設定するにはどうすればよいですか? [closed] 質問する

systemd サービスを定期的に再起動するように設定するにはどうすればよいですか? [closed] 質問する

プロセスがバグアウトしないように定期的に再起動する必要がある単純なsystemdサービスがあります。systemdサービスに定期的に再起動するための設定オプションはありますか?Restart*オプションサービスが終了したときにサービスを再起動することに関係しているようです。

ベストアンサー1

systemdバージョン229以上では、RuntimeMaxSec指定された期間実行された後にサービスを終了します。

例: 7 日ごとに再起動するには:

[Service]
Restart=always
RuntimeMaxSec=7d

私にとっては、これは を乱用するよりもエレガントに思えますType=notifyWatchdogSec

systemdは、ベンダーが提供するsystemdユニットファイルにディレクティブを追加したり上書きしたりするためのクリーンな方法を提供します。ドロップインユニットは、マニュアル systemd.unitたとえば、パッケージによって提供される foo サービスを定期的に再起動したい場合は、 という名前のファイルを作成します/etc/systemd/system/foo.service.d/periodic-restart.conf。内容は上記のようになります。次に、次の操作を行います。

 systemctl daemon-reload
 systemctl restart foo

ドロップイン ユニットがロードされたかどうかは、ステータス出力に表示されるので確認できます。

 systemctl status

最後に、出力を検索してディレクティブが含まれていることを確認できますsystemctl show

 systemctl show foo.service | grep RuntimeMax

報告されるディレクティブはsystemctl show「RuntimeMaxUSec」になります

おすすめ記事