.journalファイルの内容を読み取るコマンド?

.journalファイルの内容を読み取るコマンド?

答えは簡単です。 "journalctl"コマンドを使用してください。

しかし、まず問題を説明すると、

Ubuntuサーバーのクラッシュイベントが発生し、いくつかのlog / .journalファイルが正常に抽出されました。このイベントを処理する次の方法は、これらのファイルを読み取って分析することでした。

2つの要求が議論中です。

A. Windows環境で.journalファイルを読み取る方法

B. Windowsオペレーティングシステム以外の方法を使用して.journalファイルを読みます。

最初のものは最も重要な要求ですが、それは難しいように見え、別のUbuntuホストを使用し、 "journalctl --file /path_to_the_file"コマンドを使用してターゲットを完全に解決したのでスキップしました。 (また、「コンテンツを.txtファイルにエクスポートする」>」記号を介して)

「cat」コマンドを使用して.journalファイルを読み取った後、コンソールディスプレイに無効な文字が表示され、問題を解決するために再起動する以外に選択肢がないことがわかりました。

「vi」コマンドも機能しません。

もしそうなら、 "journalctl"コマンドは.journalファイルを通常どおり探索する唯一の直接的な方法ですか?

ベストアンサー1

「cat」コマンドを使用して.journalファイルを読み取ると、コンソールディスプレイに無効な文字が表示されることがわかりました。

もちろん。バイナリファイルです

混乱を解決するために再起動する以外に選択肢はありませんでした。

これは正確ではありません。通常、Control-j, reset, Control-jこの問題は組み合わせを使用して解決できます(参照こここの場合、「ターミナルカオス」の詳細)または新しい端末を開きます。

もしそうなら、 "journalctl"コマンドは.journalファイルを通常どおり探索する唯一の直接的な方法ですか?

バイナリファイルなので、唯一のオプションは、そのバイナリ形式を解析できるプログラムを使用することです。これがJournalctlが行うことです。あるいは、カスタムスクリプトを使用することもできます。たとえば、Pythonではsystemd.journalライブラリ(https://stackoverflow.com/questions/26331116/reading-systemd-journal-from-python-script)、Windowsに移植可能かどうかは不明です。

他のアプローチを選択することもできます。ファイルをどこかにコピーします(仮想マシンまたはLinuxコンテナでも十分です)journalctl -D <path to exported journal>

おすすめ記事