Bewahren Sie alle Systemprotokolle für immer auf

7

In der Konsolen-App werden nur einige system.log.${i}.gzarchivierte Protokolldateien angezeigt, die nur Informationen zu den letzten 10 bis 15 Tagen enthalten. Wie werden alle Protokolle für immer irgendwo archiviert?

myhau
quelle
Verwenden Sie einen dedizierten Syslog-Server und senden Sie die Protokolle dorthin. Ändern Sie alternativ die Protokollrotation, um niemals etwas zu löschen.
John Keates
Sie könnten mir einen Terminalbefehl / Artikel geben, der genau das erklärt Alternatively, change the log rotation to never delete anything.:?
Myhau
2
So können Sie syslog so konfigurieren, dass Daten an einen dedizierten Syslog-Server gesendet werden: wiki.splunk.com/… Und wenn Sie anscheinend (laut einer schnellen DuckDuckGo-Suche) mit der Protokollrotation spielen möchten, möchten Sie sich / etc / asl ansehen .conf und man asl.conf. Ich kenne asl nicht, daher weiß ich nicht, wie es funktioniert, aber wenn ich mir die Datei und die Manpage ansehe, kann ich mir vorstellen, dass das ziemlich schnell herausgefunden werden kann.
Harv

Antworten:

6

Die Protokolldateien werden gedreht und schließlich vom ASL-System entfernt. Sie können die Konfiguration ändern, indem Sie /etc/asl.conf unter sudo bearbeiten. Starten Sie Terminal.app und geben Sie den folgenden Befehl ein:

sudo -e /etc/asl.conf

Dort finden Sie einen Kommentar, der besagt, dass die Regeln für /var/log/system.log befolgt werden. Die erste Zeile sieht folgendermaßen aus:

> system.log mode=0640 format=bsd rotate=seq compress file_max=5M all_max=50M

Ändern Sie das so:

> system.log mode=0640 format=bsd rotate=seq compress file_max=5M all_max=9999G ttl=99999

Dies bedeutet, dass jede einzelne Protokolldatei maximal 5 MB groß ist. Normalerweise entfernt das ASL-System Protokolldateien, wenn sie entweder das all_max-Limit überschreiten (vor 50 Megabyte, jetzt 9999 Gigabyte) oder wenn die Datei älter als TTL-Tage (vor 7 Tagen, jetzt 99999 Tage) ist.

jksoegaard
quelle
1
Verwenden Sie diese Option nicht sudo, um einen Editor nur zum Bearbeiten einer Datei auszuführen, für deren Schreiben erweiterte Berechtigungen erforderlich sind. Aus Sicherheitsgründen sollten Sie die Menge des Codes, den Sie als Root ausführen, einschränken. Verwenden Sie stattdessen, um sudo -e …die Datei zu kopieren /tmpund Ihren Editor zu starten. Wenn Sie den Editor verlassen, sudowird die Datei zurückkopiert. Weitere Informationen finden Sie in der Manpage <x-man-page: // 8 / sudo>.
Chris Seite
Es sei darauf hingewiesen, dass das Anwachsen des system.log auf eine sehr große Größe sich auf die Leistung Ihres Mac auswirkt. Das Schreiben in große Dateien dauert länger als in kleine.
benwiggy
@benwiggy Nicht wirklich, nein? - Das Anhängen an eine sehr große Datei ist nicht langsamer als das Anhängen an eine kleinere Datei. In jedem Fall ist dies hier nicht relevant, da die Dateien nach dieser Änderung nicht größer als zuvor sind.
Jksoegaard