RHELサーバーバージョン7.2があり、dmesg
以前のセッションのファイルが/var/log
生成されていないことがわかりました。
私たちが持っている/var/log
すべては
ls -ltr | grep dmesg
-rw-r--r-- 1 root root 123011 Jan 3 04:03 dmesg
代わりに次のようになります。
-rw-r--r-- 1 root root 123011 Jan 3 04:03 dmesg.0
-rw-r--r-- 1 root root 123011 Jan 2 04:03 dmesg.1
-rw-r--r-- 1 root root 123011 Jan 1 04:03 dmesg.2
.
.
.
以前のカーネルメッセージをバックアップファイルに保存できる設定は何ですか?
答え1
(あなたの担当者を考えると)単純すぎるように見えるので、以下の解決策があなたの問題を解決できるかどうかはわかりません。しかし、始めましょう。
1つがある場合Storage=auto
(/etc/systemd/journald.conf
私が見たほとんどのインストールではデフォルト)、ディレクトリを作成するだけです/var/log/journal
。この設定を有効にすると、systemd-journald
ログはディレクトリに保存されますが、ディレクトリがない場合はログのみが保存されます。メモリに保存されます(もちろん終了時に忘れてしまいます)。ディレクトリを作成したら、実行して再起動する必要がsystemd-tmpfiles --create --prefix /var/log/journal
ありますsystemd-journald
。
systemd-journald
ログファイルに別の場所を使用するように設定することもできますが、これは私の(現在の)知識の範囲外です(これを行う必要はなく、必要な手順を調査していません)。
Storage=persistent
がある場合は、必要に応じて自動的に作成する必要/etc/systemd/journald.conf
があります/var/log/journal
。
完全性を確保するために、Storage=volatile
これはログデータがメモリにのみ保存され(終了時に忘れてしまう)、Storage=none
すべての保存が完全に防止されることを意味します。以前の実行のログを表示するには、これら2つを避ける必要があります。
これらの設定はすべてによく説明されていますman journald.conf
。
上記のソリューションは、systemd
RHEL 7.2がそれに基づいているため、OPに関連して適用可能ですsystemd
。
以前のブートログをバックアップする必要がある場合(標準設定を使用してすでに表示されているにもかかわらず)、単に実行するだけです。journalctl -b <N> > demsg.<N>
たとえば、journalctl -b 1 > dmesg.1
最も長い記録されたブートログをファイルとして保存しますdmesg.1
。
したがって、あなたの質問に対する答え(以前のカーネルメッセージをバックアップファイルに保存できる設定は何ですか)例:
dmesg
私はこれらのファイルに基づいてこれを行う構成設定を知りません。- もちろん、
dmesg
ファイルを回転して起動するたびに、または終了するたびに実行するスクリプトを作成できます。 - しかし、上記のプロセスによれば、より良い(そしてより簡単な)方法で目標を達成することができます。
残念ながら、このソリューションは賞金を支払う人には適していません。 OpenRCがOpenRCに基づいていないためsystemd
(私の賞金請求が正しい場合)、OpenRCでは機能しません。 OpenRCで問題を解決する他の方法があるかもしれませんが、聞いたことがないので助けることはできません。
引用:
https://gist.github.com/JPvRiel/b7c185833da32631fa6ce65b40836887