今回は、journalctlコマンドで確認できるログの保存についてです。
本記事は以下の本を参考にしております。
■そもそもデフォルトでログ保存できてないの?
journalctlコマンドによるログは、保存されておりません。
デフォルトでは、/run/log/journal/マシンID配下 にバイナリ形式でログが格納されております。
/runは仮想ファイルシステムであり、OS再起動をするとそれまでのデータは削除されてしまいます。
※とはいえ、/var/log/messagesにもログは保存されています。
以下は、/runのパーティション情報です。
※tmpfsファイルシステムとしてマウントされていることがわかります。
■(余談)マシンIDとは?
/etc/machine-id に保存されており、OSインストール時に自動生成されます。
一度作成されたマシンIDは不変です。
そのため、H/W交換を行ってもマシンIDは変更されません。
マシンを確認する方法は、前述のとおり/etc/machine-idを確認するか、
hostnamectl コマンドで確認します。
■journalログの保存方法
本作業を実施することで、journalログの保存先が、
/run/log/journal/マシンID配下
↓
/var/log/journal/マシンID配下
に変更されます。
/etc/systemd/journald.conf を修正します。
デフォルトの設定ファイルは以下の通りです。
ログを保存するためには、Storageパラメータを以下のように変更します。
Storage=persistent
修正前後での差分は以下の通りです。
次に以下のコマンドを実行します。
これにより、journalログが/var/log/journal/マシンID配下に保存されます。
※/var/log/journalディレクトリおよびその配下は自動的にディレクトリが生成されます。そのため、事前に手動で作成しておく必要はありません。
以上です。
本記事は以下の本を参考にしております。