ブーツの後ろに自分のコンピュータを一覧表示できますjournalctl --list-boots
。出力は次のとおりです。
-4 21b1318cbaf04732b95ed0a5e40f6698 Tue 2019-06-25 17:26:53 CEST—Fri 2019-07-05 17:11:31 CEST
-3 02d30049fdef4a809122f499ef95d122 Fri 2019-07-05 17:12:33 CEST—Wed 2019-08-14 10:23:47 CEST
-2 aedc9088bd0a4a9588c387e593c9cc25 Wed 2019-08-14 10:24:41 CEST—Fri 2019-09-20 16:28:12 CEST
-1 e40c23b16b86400292b7da77f03f677f Fri 2019-09-20 16:29:03 CEST—Mon 2019-10-07 16:31:20 CEST
0 973dc1142add4a249e784c1a68fac31a Mon 2019-10-07 16:32:11 CEST—Tue 2019-10-15 12:12:22 CEST
そのため、コンピュータがいつ起動し、いつ終了するかを調べるために使用できます。
単一のシステムユニット(私の場合は.service)に同じ情報が必要です。しかし、私はこの情報を取得する方法を見つけることができませんでした。明らかなjournalctl -u foo.service
戻り行は次のとおりです。
Oct 10 00:00:01 localhost systemd[1]: Started foo service.
Oct 10 00:00:02 localhost foo[19382]: some foo output
Oct 10 00:00:02 localhost foo[19382]: some foo output
Oct 10 00:00:02 localhost foo[19382]: some foo output
Oct 10 00:00:02 localhost foo[19382]: some foo output
Oct 10 00:00:02 localhost foo[19382]: some foo output
Oct 10 00:00:02 localhost foo[19382]: some foo output
Oct 10 00:11:22 localhost foo[19382]: some foo output
Oct 10 12:00:01 localhost systemd[1]: Started foo service.
...
これにより、サービスが00:00:01に開始され、12:00:01に再起動されたことがわかりますが、正確にどのくらいの期間実行されたかはわかりません(少なくとも00:11:22まで実行されたというだけです)。 。
背景:過去にサービス(私の場合はバックアップスクリプト)に時間がかかったかどうかを知りたいです。
答え1
私の考えではsystemd-analyze
可能答えですが、そうではありません。
一つあるたくさんできそうですが、「どれくらいの時間がかかりますか」というよりは、「サービスを始めるのにどれくらいかかりますか」がより重要な機能です。~のため後者はおそらくその機能ではないsystemd-analyze plot > plot.svg
でしょう。がブレークポイントで完了することを意味するかどうかはわかりません)または同じ実行で断続的に実行されるプロセスをサポートすることです。
幸いなことに、関心のあるサービスは独自のものであるため、これを変更してjournalctl -u foo.service
ログファイルを読み書きできる「Started@」および「Finished@」メッセージを追加できます。
ただし、変更したくない一般サービスの場合は、別の回答が必要です。