web-dev-qa-db-ja.com

起動およびシャットダウンのログへのアクセス

私の質問はプロジェクトに触発されました rawhen

このプロジェクトはコマンドlast -R -F rebootソースコード の163行目)を使用して、コンピューターが実行されていた期間を確認しました。このコマンドにより、たとえば83 days ago - 447 hoursを確認できることがドキュメントで確認できます。

original-doc

プロジェクトは4年間更新されていません。

2年前にこのサイトでこの質問が尋ねられました: 「最後の」コマンドを使用して古いログイン情報を読む方法? と答えは示唆しています:

last -2000 -f /var/log/wtmp.1                       // 83 lines (28 days)

これをフィルタリングすると、取得します。

last -R -F reboot -f /var/log/wtmp.1                // 33 lines (28 days)

しかし、この回答では、提案された行数は2000であり、/var/log/wtmp.xxは数字)のようなログの仮定があるようです。

私の/var/logには、wtmpの2つのファイルしかありません。

wc /var/log/wtmp*
    3    19  6144 /var/log/wtmp
   37   253 93696 /var/log/wtmp.1
   40   272 99840 together

また、これらのファイルには過去1〜2か月のデータのみが含まれています。

私の質問は:

最も古いログへのアクセスを取得する方法、Ubuntuがそれらを削除しないようにする方法、またはこれらのログを1つのファイルに保存する方法(再起動フィルターのみが必要)これらのデータを連結する際に問題なく

私のシステムはUbuntu 16.04です。これは標準のホームエディションであり、サーバーではありません。

それは偶然かもしれませんが、rawhenでは、先月のコンピューターの電源が447時間、今月の10時間で478 hになったことがわかりました。ログが削除されるまでシステムを実行する時間はありますか?

5
Daniel

あなたの質問を正しく理解しているかどうかはわかりませんが、あなたが尋ねたもの(太字のセクション)に対処するには、logrotate設定を変更する必要があります。

このファイルを見てください:

less /etc/logrotate.conf

次のような行があるはずです。

/var/log/wtmp {
    missingok
    monthly
    create 0664 root utmp
    rotate 1
}

これらの行をファイルから削除すると、「logrotate」はこのログを削除しません。「monthly」を「yearly」に変更して、1年後にファイルを削除できます。 rotate 1は、次のような古いバックアップを削除する前に1つのバックアップを保持することを意味します。

$ ls /var/log/wtmp*
/var/log/wtmp  /var/log/wtmp.1

2に変更すると、次のようになります。

$ ls /var/log/wtmp*
/var/log/wtmp  /var/log/wtmp.1  /var/log/wtmp.2
6
Ravexina