(In dieser Frage geht es um ein ähnliches Problem, es handelt sich jedoch um eine gedrehte Protokolldatei.)
Heute habe ich eine Systemmeldung bezüglich sehr wenig /var
Speicherplatz erhalten.
Wie üblich habe ich die Befehle ausgeführt, in deren Zeile sudo apt-get clean
sich das Szenario nur geringfügig verbessert hat. Dann habe ich die gedrehten Logdateien gelöscht, was wiederum nur eine geringe Verbesserung brachte.
Bei der Überprüfung stelle ich fest, dass einige Protokolldateien in der /var/log
sehr große geworden sind. Um genau zu sein, ls -lSh /var/log
gibt,
total 28G -rw-r----- 1 syslog adm 14G Aug 23 21:56 kern.log -rw-r----- 1 syslog adm 14G Aug 23 21:56 syslog -rw-rw-r-- 1 root utmp 390K Aug 23 21:47 wtmp -rw-r--r-- 1 root root 287K Aug 23 21:42 dpkg.log -rw-rw-r-- 1 root utmp 287K Aug 23 20:43 lastlog
Wie wir sehen können, sind die ersten beiden die Beleidigenden. Ich bin leicht überrascht, warum so große Dateien nicht gedreht wurden.
Also was soll ich tun? Einfach diese Dateien löschen und dann neu starten? Oder umsichtiger vorgehen?
Ich benutze Ubuntu 14.04.
UPDATE 1
Das System ist zunächst nur einige Monate alt. Ich musste das System vor ein paar Monaten nach einem Festplattencrash von Grund auf neu installieren.
Nun, wie in dieser Antwort empfohlen , habe ich zuerst die fehlerhaften Protokolldateien mit überprüft tail
, was dort keine Überraschung ist. Dann habe ich zur genaueren Betrachtung dieses Skript mit der gleichen Antwort ausgeführt .
for log in /var/log/{syslog,kern.log}; do
echo "${log} :"
sed -e 's/\[[^]]\+\]//' -e 's/.*[0-9]\{2\}:[0-9]\{2\}:[0-9]\{2\}//' ${log} \
| sort | uniq -c | sort -hr | head -10
done
Der Vorgang dauerte mehrere Stunden. Die Ausgabe war in der Zeile von,
/var/log/syslog : 71209229 Rafid-Hamiz-Dell kernel: sda3: rw=1, want=7638104968240336200, limit=1681522688 53929977 Rafid-Hamiz-Dell kernel: attempt to access beyond end of device 17280298 Rafid-Hamiz-Dell kernel: attempt to access beyond end of device 1639 Rafid-Hamiz-Dell kernel: EXT4-fs warning (device sda3): ext4_end_bio:317: I/O error -5 writing to inode 6819258 (offset 0 size 4096 starting block 54763121030042024) <snipped> /var/log/kern.log.1 : 71210257 Rafid-Hamiz-Dell kernel: attempt to access beyond end of device 71209212 Rafid-Hamiz-Dell kernel: sda3: rw=1, want=7638104968240336200, limit=1681522688 1639 Rafid-Hamiz-Dell kernel: EXT4-fs warning (device sda3): ext4_end_bio:317: I/O error -5 writing to inode 6819258 (offset 0 size 4096 starting block 954763121030042024)
( /dev/sda3
ist mein Heimatverzeichnis. Wie wir finden können,
lsblk /dev/sda NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 931.5G 0 disk ├─sda1 8:1 0 122.1G 0 part / ├─sda2 8:2 0 7.6G 0 part [SWAP] └─sda3 8:3 0 801.8G 0 part /home
Warum ein Prozess über das Limit hinaus schreiben möchte, liegt eigentlich außerhalb meines Verständnisses. Vielleicht möchte ich in diesem Forum eine andere Frage stellen, wenn dies auch nach einem System-Update so bleibt.)
Dann, aus dieser Antwort (Sie können dies für ein tieferes Verständnis überprüfen wollen ), führte ich aus,
sudo su -
> kern.log
> syslog
Diese Dateien haben jetzt die Größe Null. Das System läuft vor und nach einem Neustart einwandfrei.
Ich werde diese Dateien (zusammen mit anderen) in den nächsten Tagen ansehen und zurückmelden, falls
sie sich außerhalb der Reihe verhalten.
Als letzte Anmerkung werden beide fehlerhaften Dateien ( kern.log
und syslog
) gedreht, wie die Prüfung der Dateien ( grep
Hilfe) im Inneren
/etc/logrotate.d/
zeigt.
UPDATE 2
Die Protokolldateien werden tatsächlich gedreht. Sieht aus wie die großen Größen an einem einzigen Tag erreicht wurden.
quelle
Antworten:
Nein. Leeren Sie sie, aber verwenden Sie sie nicht
rm
da dies zu einem Absturz führen kann, während Sie dentouch
Befehl zum Neuerstellen eingeben .Kürzeste Methode:
Wenn nicht root wird es erfordern
sudo
. Entnommen aus einer anderen Antwort auf AU.BEVOR SIE DAS TUN. Mach ein
tail {logfile}
und überprüfe, ob es einen Grund gibt, warum sie so groß sind. Solange dieses System nicht mehrere Jahre alt ist, sollte es keinen Grund dafür geben, und die Behebung des Problems ist besser, als es weitergehen zu lassen.Sowohl kern.log als auch syslog sollten normalerweise nicht so groß sein. Aber wie gesagt: Wenn dieses System jahrelang läuft, kann es normal sein und die Dateien müssen nur gelöscht werden.
Und um zu verhindern, dass es in Zukunft so groß wird: Setup
logrotate
. Es ist ziemlich unkompliziert und komprimiert die Protokolldatei, wenn sie größer als die von Ihnen festgelegte Größe ist.Eine andere Sache: Wenn Sie den Inhalt nicht löschen möchten, können Sie die Dateien komprimieren, indem Sie sie tarieren oder komprimieren. Damit haben Sie am Ende wahrscheinlich 10% der Dateien, die sie jetzt sind. Das ist, wenn noch Platz auf der Festplatte ist, um das zu tun.
quelle
wtmp: Command not found
Welches Paket ist das?>
sei eine Eingabeaufforderung und habe "lastlog" ausprobiert, und es hat funktioniert. Daher ging ich davon aus, dass ichEs lohnt sich wahrscheinlich, herauszufinden, was die Protokolle füllt - entweder indem Sie sie einfach mit dem Befehl
less
oder visuell untersuchentail
oder wenn die beleidigenden Linien zu tief vergraben sind, um leicht zu sehen, was passiert, so etwas wie
(Hinweis: Bei so großen Dateien kann dies einige Zeit dauern.) Dadurch werden die Zeitstempel entfernt und die am häufigsten auftretenden Nachrichten gezählt.
quelle
Meine Methode für saubere Systemprotokolldateien ist dies. Die Schritte 1 und 2 sind optional, aber manchmal müssen ältere Protokolle überprüft werden, und manchmal ist eine Sicherung hilfreich. ;-)
Optional: Protokolldatei kopieren
Optional: Verwenden Sie Gzip für eine Kopie des Protokolls
Verwenden Sie / dev / null für eine saubere Datei
Und wir verwenden für diese Protokolle (nur auf mehreren Servern) logrotate und führen diese wöchentlich per cron-Skript aus, wobei alle Dateien mit * .1 (oder weiter gedreht) per gzip komprimiert werden.
quelle
Ich habe heute Ubuntu 16.04 installiert und das gleiche Problem festgestellt. Ich habe dies jedoch mit busybox-syslogd behoben. Jep! Ich habe gerade dieses Paket installiert und das Problem wurde behoben. :)
Nachdem das Paket der Installation zurückgesetzt
syslog
undkern.log
:Ich hoffe, diese einfache Lösung ist nützlich für andere Leute in der Umgebung.
quelle