Ist logrotate Versteck irgendwo auf OSX, oder ist es ein Äquivalent? Es ist nicht in /usr/sbin
.
Ist logrotate Versteck irgendwo auf OSX, oder ist es ein Äquivalent? Es ist nicht in /usr/sbin
.
Antworten:
Basierend auf der Antwort von Brian Armstrong, hier etwas mit etwas mehr Erklärung und einer Korrektur. Dies behandelt das von postgres unter OSX erstellte Protokoll, das von Homebrew installiert wurde. Befindet sich in /etc/newsyslog.d/postgresql.conf
:
# logfilename [owner:group] mode count size(KB) when flags [/pid_file] [sig_num]
/usr/local/var/postgres/postgresql.log : 600 2 2048 * J /usr/local/var/postgres/postmaster.pid
Dadurch wird die Protokolldatei bei Erreichen einer Größe von 2 MB gedreht, es werden 2 Archive (für insgesamt 6 MB verwendeten Speicher) aufbewahrt und die Archive mit bzip2 komprimiert. Es benachrichtigt den Postgres-Prozess, die Protokolldateien nach dem Drehen erneut zu öffnen. Dies ist erforderlich, um neue Protokolleinträge zu erhalten und tatsächlich Speicherplatz freizugeben, ohne den Computer neu zu starten.
Es ist wichtig zu beachten, dass die Größe in KB und nicht in Bytes angegeben ist.
Sie können die Konfigurationsdatei (ohne Auswirkungen auf Dateien) mit testen sudo newsyslog -nvv
.
Die newsyslog-Dokumentation finden Sie hier: http://www.freebsd.org/cgi/man.cgi?newsyslog.conf(5) . Auch verwendet: http://www.redelijkheid.com/blog/2011/3/28/adding-custom-logfile-to-os-x-server-log-rotation.html
In OS X gibt es je nach Art des betreffenden Protokolls verschiedene Möglichkeiten, die Protokolle zu drehen / abzulaufen / usw.:
logrotate
. Es wird von /etc/newsyslog.conf
und konfiguriert /etc/newsyslog.d/*
(im Allgemeinen sollten Sie Dateien /etc/newsyslog.d/
hinzufügen, um Protokolle zu seiner Verwaltungsliste hinzuzufügen)./var/log/asl/
. Ich verstehe dieses System noch nicht ganz, aber diese Datenbank scheint von aslmanager gelöscht zu werden , der von konfiguriert wird /etc/asl.conf
./Library/Logs/CrashReporter/
) als separate Dateien hinzugefügt wurden , werden die Dateien von gelöscht /etc/periodic/daily/100.clean-logs
. Die Richtlinien (welche Verzeichnisse gescannt werden sollen und wie lange Dateien belassen werden sollen) sind konfiguriert. /etc/defaults/periodic.conf
Wenn Sie sie jedoch überschreiben / ändern möchten, sollten Sie /etc/periodic.conf.local
Ihre Anpassungen dort erstellen und ablegen.Wenn das, was Sie drehen möchten, für keines dieser Modelle geeignet ist, können Sie eigene Skripte hinzufügen /etc/periodic/daily/
(die jeden Morgen um 3:15 Uhr ausgeführt werden), /etc/periodic/weekly/
(jeden Samstagmorgen um 3:15 Uhr) oder /etc/periodic/monthly/
(erstens) jeden Monat um 5:30 Uhr).
newsyslog
/etc/newsyslog.d/rails_apps.conf
Läuft automatisch unter OSX, verwende ich eine solche Konfigurationsdatei, um meine Entwicklungsprotokolldateien auf 5 MB zu beschränken
# logfilename [owner:group] mode count size when flags [/pid_file] [sig_num]
/Users/barmstrong/code/**/log/*.log 666 0 5242880 * G
Sie können über Homebrew logrotieren. Hier sind meine Notizen zum Einrichten.
brew install logrotate
Konfigurationsdateien für die Protokollrotation befinden sich in /usr/local/etc/logrotate.d/
Konfigurationsdatei bearbeiten. Ich wollte zum Beispiel einige "/var/log/tend_*.log" -Dateien drehen, die ich eingeführt habe:
sudo vi /usr/local/etc/logrotate.d/tend.conf
Inhalt:
/var/log/tend_*.log {
daily
copytruncate
rotate 3
size 10M
compress
}
sudo logrotate -v -f /usr/local/etc/logrotate.d
sudo brew services start logrotate
sudo brew services restart logrotate