Debian(Jessie)サーバー上で実行されているサービス(直接作成)があり、サービス自体のログが特定の時間に再起動されたことを示します。セグフォルトやその他の競合の兆候がないので、アプリケーションが何とか動作するかどうかを調べようとしています。何も言わずに失敗し、systemdによって再生成された場合、またはユーザーが意図的に渡す場合systemctl
。
シェル履歴にはそのようなアクティビティは表示されませんが、export HISTCONTROL=ignoreboth
SSHセッションがタイムアウトし、以前のログインのbash履歴がディスクに書き込まれない可能性があるため、これは結論ではありません。その時点でサーバーは再起動されませんでした。
しかし、systemd自体でサービスが開始された時期を示すログを維持したいと思います。故意に再起動。驚くべきことにjournalctl
、そのようなログを取得する方法に関するドキュメントが見つかりません(例:)。
他の投稿(例:一般ユーザーシステムサービスはどこにありますか?ログがない理由は何ですか?) 次のログメッセージがあることを示すようです。
Jan 15 19:28:08 qbd-x230-suse.site systemd[1]: Starting chatty.service...
Jan 15 19:28:08 qbd-x230-suse.site systemd[1]: Started chatty.service.
しかし、私のシステムにはそのようなログメッセージは表示されません。
システムサービスがいつ起動、停止、または再起動されるかを調べる方法はありますか?
編集する:人々が経験できる一般的な問題は、journalctl
権限のないユーザーとして実行されていることです。私はそうではありません。私はいつも働いていますroot
。コメントに応じて実行すると、grep systemd /var/log/syslog
次の情報のみが提供されます。
Jun 6 09:28:35 server systemd[22057]: Starting Paths.
Jun 6 09:28:35 server systemd[22057]: Reached target Paths.
Jun 6 09:28:35 server systemd[22057]: Starting Timers.
Jun 6 09:28:35 server systemd[22057]: Reached target Timers.
Jun 6 09:28:35 server systemd[22057]: Starting Sockets.
Jun 6 09:28:35 server systemd[22057]: Reached target Sockets.
Jun 6 09:28:35 server systemd[22057]: Starting Basic System.
Jun 6 09:28:35 server systemd[22057]: Reached target Basic System.
Jun 6 09:28:35 server systemd[22057]: Starting Default.
Jun 6 09:28:35 server systemd[22057]: Reached target Default.
Jun 6 09:28:35 server systemd[22057]: Startup finished in 59ms.
Jun 6 09:37:08 server systemd[1]: Reexecuting.
ベストアンサー1
スクリプトを作成する必要がある場合は、このコマンドの使用を検討する必要がありますsystemctl show
。スクリプトの場合、解析を試みるよりも簡単ですstatus
。たとえば、サービスが最後に開始された時刻を見つけるには、次のようにします。
$ systemctl show systemd-journald --property=ActiveEnterTimestamp
ActiveEnterTimestamp=Wed 2017-11-08 05:55:17 UTC
使用可能なすべての属性を表示するには、フラグを省略するとその属性がすべてダンプされます。
$ systemctl show <service_name>
これらのプロパティのドキュメントを見つけることができます。ここ。