systemdが管理するサービスが再起動された回数(カウンタなど)をすばやく簡単に知ることができる方法が必要です。それは存在しますか?
答え1
このカウンタは追加されており、次のコマンドを使用してアクセスできます。
systemctl show foo.service -p NRestarts
サービスが再開ループにある場合は値を返し、それ以外の場合は何も返しません。
答え2
systemctlは、サービスが最後に開始された時刻(または稼働時間)を表示します。ただし、これはサービスが再起動された回数を説明するのに十分ではありません。
次のコマンドは、発生した開始(または再起動)の回数を表示できます。
ログ制御 -u <service_name>
.service grep を起動します。
たとえば、
$ journalctl -u foo.service | grep Starting
Jul 24 16:09:56 10.16.26.1 systemd[1]: Starting foo...
Jul 25 18:12:14 10.16.26.1 systemd[1]: Starting foo...
このコマンドは再始動回数のみを提供します。
ログ制御 -u <service_name>
.service grep start |
たとえば、
$ journalctl -u foo.service | grep Starting | wc -l
2
注:ここで使用されている文字列を変更できます。この「開始済み」を使用して、サービスが正常に開始されたことを確認できます。あるいは、「<service_name>
.service failed」を使用して、サービスが失敗した回数を知ることもできます。
また、興味深いことに、彼らはGitHubでsystemdにカウンタを追加するというアイデアを議論してきました。