Kann ich die Größe von ~ / .xsession-Fehlern begrenzen?

7

Gibt es eine Möglichkeit, die Größe von zu begrenzen .xsession-errors.?

Ich erhalte eine große Anzahl bestimmter Debug-Informationsnachrichten und die Dateigröße wurde auf 2,8 GB (über viele Monate) erhöht. Die Nachricht macht 95% aller Zeilen in .xsession-Fehlern aus.

Ich glaube, ich weiß, um welche App es sich handelt, und ich muss das separat prüfen, aber jetzt möchte ich wissen, ob es eine Einstellung gibt, die ein unbegrenztes Wachstum des Protokolls verhindert.

Das Protokoll ist derzeit auf 2 Dateien aufgeteilt. (0,8 GB und 2,0 GB)

UPDATE:
Nachdem ich RobinJs Vorschlag von logrotate(der die Dateigröße niedrig hält) angewendet habe , habe ich festgestellt, dass die 2.0-GB-Datei nach dem manuellen Löschen wieder angezeigt wurde .xsession-errors.old(Größe = 0) ...

Dies bedeutet, dass etwas anderes als logrotatediese Protokolldatei verwaltet wird. In diesem Fall scheint es, dass diese andere App möglicherweise in der Lage ist, die Größenbeschränkung des Protokolls usw. zu verwalten, und dies wäre angemessener.

Was ist das für ein Programm?

===========
Antwort bearbeiten: Mein Update hat tatsächlich den Ton der ursprünglichen Frage geändert und Mark Russell hat diesen zweiten Punkt sehr gut beantwortet .... RobinJ hat meine ursprüngliche Frage gemäß dem Titel beantwortet. . Danke an beide..

Peter.O
quelle
1
Zu Ihrer Information - wenn Sie es noch nicht gefunden haben, könnte der Schuldige Spotify Beta sein.

Antworten:

4

logrotate sollte dazu in der Lage sein.

RobinJ
quelle
Danke RobinJ. logrotatehat es zum Laufen gebracht ... Für andere Leser dieses Kommentars fand ich den folgenden Link sehr nützlich, um die Details von zu erklären logrotate: Logrotate auf Ubuntu- Artikeln
Peter.O
Robin ... Ich habe meiner Frage neue Informationen hinzugefügt, also habe ich Ihre Antwort "auf Eis gelegt" und gesehen, was herauskommt.
Peter.O
Es gab einen Befehl, der Ihnen zeigen konnte, welches Programm versucht, auf welche Datei zuzugreifen, wenn ich mich nicht irre. Ich werde es mir für Sie ansehen, wenn ich zu Hause bin.
RobinJ
3

Fred. .xsession-Fehler werden bei jedem Neustart Ihrer X-Sitzung gelöscht. Tatsächlich wird es in .xsession-error.old umbenannt und beim X-Login wird ein neuer .xsession-Fehler erstellt. Wenn Sie also ein massives .xsession-Fehlerprotokoll haben, wird es durch zwei Abmeldungen / Anmeldungen gelöscht. Wenn Sie es also manuell löschen, ist mein Punkt, dass angesichts der Regelmäßigkeit der Kernel-Sicherheitsupdates nicht erwartet wird, dass Sitzungen Monate dauern.

Ihre Beschreibung (die Datei wird im Laufe der Monate so groß) deutet darauf hin, dass Sie in diesem Zeitraum keinen Neustart durchgeführt haben. Wenn dies nicht der Fall ist, dh Sie das System neu gestartet haben und die Datei dennoch nie gedreht wurde, veröffentlichen Sie bitte weitere Informationen, beginnend mit: Welche Ubuntu-Version verwenden Sie? Führen Sie GNOME oder KDE oder eine andere Desktop-Umgebung aus?

Da die Datei automatisch wieder angezeigt wird, gibt es keine separate Anwendung, die die Protokolldatei verwaltet. Der Grund, warum die Datei neu erstellt wird, liegt in der Funktionsweise der Umleitung. ZB echo stuff >> /var/log/stuff.logfunktioniert der Befehl unabhängig davon, ob /var/log/stuff.log vorhanden ist oder nicht.

Mark Russell
quelle
@Diese Anweisung: .xsession-Fehler wurden bei jedem Neustart gelöscht und in .xsession-Errors.old kopiert. Es wurden neue .xsession-Fehler erstellt. || Das passiert auf meinem System nicht ...
RobinJ
@RobinJ: Welche Release- und Desktop-Umgebung verwenden Sie?
Mark Russell
Linux Mint 10 (Gnome), basierend auf Ubuntu 10.10
RobinJ
Nun, ich hätte nicht annehmen sollen , dass die Datei stetig gewachsen ist. Ich verwende Ubuntu nicht als Server und starte ziemlich oft neu. Ich habe gerade überprüft und sogar nach weniger als einem Tag die - Die alte Datei ist bis zu 473 MB groß (von 0 MB). 98,45% der Zeilen beginnen mit "Debug: Playlist ::" ... Ich schaue morgen weiter nach ...
Peter.O
Ich konnte nicht bis morgen warten ... Ich habe gerade neu gestartet. Die -old- Datei ist jetzt 84 MB groß (tatsächlich habe ich heute zwei- oder dreimal neu gestartet). Ihre Antwort hat also das Startproblem sicherlich geklärt. .. nichts erstellt und steuert aktiv das Protokollgrößenprotokoll. sondern etwas mischt es aktiv in die -old- Datei und entfernt es so im Grunde genommen ... sehr interessant ... Sowohl Ihre als auch Robins Antworten waren sehr hilfreich ... danke ... (Da Robin meine ursprüngliche Frage technisch beantwortet hat , er bekommt das grüne Häkchen :)
Peter.O
1

Ich habe den Befehl gefunden, der anzeigt, welches Programm auf welche Datei zugreift. Es ist lsof.
Um herauszufinden, welches Programm .xsession-Fehler verwendet, können Sie verwenden lsof | grep .xsession-errors. Zusätzlich gibt es auch eine Fixiereinheit . Es ist meiner Meinung nach etwas einfacher zu bedienen.
Sie können einfach verwenden fuser .xsession-errors. Sie erhalten die Datei und die PID des Prozesses, der die Datei verwendet. Durch Hinzufügen -vwird auch der Name des Programms selbst angezeigt. Durch -kdas Hinzufügen werden nur die Prozesse beendet, die die Datei verwenden.

RobinJ
quelle
2
@Robin .. Vielen Dank für Ihren zusätzlichen Aufwand. Bei vielen PIDs / Apps ist das Protokoll jedoch geöffnet. Da die alte Datei irgendwann beim Start erstellt wird, ist es schwierig (wenn überhaupt möglich), diese Methode zu verwenden ... aber es ist gut zu sehen fuserund lsofin Aktion zu sein ... (Nebenbei bemerkt: Es ist ein normales Protokoll auf dieser Site und anderen Stackexchange-Sites, Ihre Antwort auf einen einzelnen Eintrag zu enthalten, da die Zeilenreihe beibehalten wird. Denken Sie an der gleichen Stelle. Das Bearbeiten Ihrer ursprünglichen Antwort ist der richtige Weg, es sei denn, Ihre neue Antwort nimmt eine * völlig andere Wendung und würde die ursprüngliche Antwort nur unordentlich machen.
Peter.O
1

Mein Fix ist der folgende:

tägliche cron job: tail ~/.xsession-errors > ~/.xsession-errors

Ich bin nicht wirklich in der Stimmung herauszufinden, welches Ubuntu-Paket kaputt ist. Dies passiert auf meinen Nicht-Ubuntu-Systemen nicht.

Bitte beachten Sie, dass dies effektiv dasselbe ist wie nur >~/.xsession-errors, dh das Abschneiden der Datei.

Es gibt auch einen Weg , um dauerhaft zu umleiten finden hier ..xsession-errors/dev/null

Rechnung
quelle
4
Wenn Sie nicht in der Stimmung sind, seien Sie hilfreich und beantworten Sie keine Fragen.
93196.93