dmesg + dmesg 履歴ログを有効にする方法

dmesg + dmesg 履歴ログを有効にする方法

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

上記のソリューションは、systemdRHEL 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

関連情報