Warum wird / var / log / wtmp so groß? Wie prüfe ich wtmp-Dateien?


7

Ich habe gerade eine 640 MB große wtmp-Datei in einem virtuellen Container (Ubuntu Hardy) bemerkt.

# last -n 10000 -f /var/log/wtmp.1|wc -l
384
# ls -hl /var/log/wtmp.1
-rw-rw-r-- 1 root utmp 641M 21. Sep 07:49 /var/log/wtmp.1

logrotate wurde nicht installiert (ich habe das gerade gemacht und das Drehen erzwungen).

Gibt es dort Datensätze, die nicht angezeigt werden last(die die letzten 1000 Einträge anzeigen sollten, aber anscheinend gibt es nur 384).

Nach dem schnellen Überfliegen der wtmp/utmpManpage sieht es nicht so aus, als würde ein einzelner Eintrag etwa 1,6 MB verwenden.

Gibt es noch ein anderes Programm last, um diese Dateien zu überprüfen?

Antworten:


6

logrotate war eine gute Idee.

Wie jede normale Datei könnte wtmp "spärlich" gewesen sein (vgl. Lseek (2) "Löcher" und ls -s), was eine extreme Dateigröße anzeigen kann, die tatsächlich wenig Festplatte belegt. Wie ist das Loch dorthin gekommen, wenn es ein Loch war? getty(8)und Freunde hätten einen Fehler haben können. Oder ein Systemabsturz und eine fsck-Reparatur könnten dies verursacht haben.

Wenn Sie den Rohinhalt von wtmp sehen möchten ododer hdsich gut für Binärdateien interessieren und den glücklichen Nebeneffekt haben, lange Leerstände als solche anzuzeigen .

Wenn es nicht wiederkehrt, würde ich nicht viel mehr darüber nachdenken. Ein marginal kompetenter Eindringling würde einen besseren Job machen, der Inhalt ist nicht so interessant und wenig hängt von ihnen ab.


Die Datei scheint nicht spärlich zu sein: Hier ist der Anfang der neuen Datei (bereits 23 MB): pastebin.com/NFtnyUJU Wenn ich das richtig verstehe, sieht es aus wie eine Reihe von Anmeldungen? (6 = LOGIN_PROCESS). Die Maschine ist ein OpenVZ-Container, auf dem BOINC (Distributed Computing) ausgeführt wird. Dies kann also genau wie erwartet sein. Es gab eine andere Maschine mit einem riesigen wtmp - Datei (phpMyAdmin, Web - Server), in dem die Ausgabe von hdBlicke mehr ungerade: pastebin.com/1UtxYudE
blueyed

7

Nur um anderen zu helfen, die dies nützlich finden könnten ...

Gibt es noch ein anderes Programm last, um diese Dateien zu überprüfen?

Ja, versuch es utmpdump.

$ utmpdump /var/log/wtmp

1

Wenn Sie Zweifel haben, dass das wtmp möglicherweise Lücken aufweist, können Sie diese entfernen, cp --sparsewenn Sie über genügend Coreutils verfügen oder fallocate --dig-holeswenn Sie die noch nicht veröffentlichte Version 2.25 von util-linux verwenden. Vielleicht ist es praktischer, das wtmp neu zu packen.

utmpdump /var/log/wtmp | utmpdump -r > /tmp/newtmp
ls -l /var/log/wtmp /tmp/newtmp # if significantly smaller
chown root:root /tmp/newtmp
chmod 0554 /tmp/newtmp
mv /tmp/newtmp /var/log/wtmp

Und wenn die Datei selbst dann ziemlich groß ist, drehen und komprimieren Sie sie einfach.

mv /var/log/wtmp{,.1}
gzip -9 /var/log/wtmp.1
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.