私の質問はプロジェクトに触発されました rawhen
このプロジェクトはコマンドlast -R -F reboot
( ソースコード の163行目)を使用して、コンピューターが実行されていた期間を確認しました。このコマンドにより、たとえば83 days ago - 447 hours
を確認できることがドキュメントで確認できます。
プロジェクトは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.x
(x
は数字)のようなログの仮定があるようです。
私の/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
になったことがわかりました。ログが削除されるまでシステムを実行する時間はありますか?
あなたの質問を正しく理解しているかどうかはわかりませんが、あなたが尋ねたもの(太字のセクション)に対処するには、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