È logrotate nascosto da qualche parte su OSX, o c'è un equivalente? Non è dentro /usr/sbin
.
È logrotate nascosto da qualche parte su OSX, o c'è un equivalente? Non è dentro /usr/sbin
.
Risposte:
Sulla base della risposta di Brian Armstrong, ecco qualcosa con qualche spiegazione in più e una correzione. Gestisce il registro creato da Postgres su OSX installato da Homebrew. Situato a /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
Questo ruoterà il file di registro quando raggiunge le dimensioni di 2 MB, mantiene 2 archivi (per un totale di 6 MB di spazio di archiviazione utilizzato) e bzip2-comprime gli archivi. Avviserà il processo Postgres di riaprire i file di registro una volta ruotati, il che è necessario per ottenere nuove voci di registro e liberare effettivamente lo spazio su disco senza riavviare la macchina.
Importante notare che la dimensione è in KB, non in byte.
È possibile testare il file di configurazione (senza influire su alcun file) utilizzando sudo newsyslog -nvv
.
La documentazione di newsyslog si trova qui: http://www.freebsd.org/cgi/man.cgi?newsyslog.conf(5) . Utilizzato anche: http://www.redelijkheid.com/blog/2011/3/28/adding-custom-logfile-to-os-x-server-log-rotation.html
OS X ha diversi modi per ruotare / scadere / ecc. I suoi registri, a seconda del tipo di accesso in questione:
logrotate
. È configurato da /etc/newsyslog.conf
e /etc/newsyslog.d/*
(in genere, è necessario aggiungere file /etc/newsyslog.d/
per aggiungere registri al suo elenco di gestione)./var/log/asl/
. Non capisco ancora del tutto questo sistema, ma questo database sembra essere eliminato da aslmanager , che è configurato da /etc/asl.conf
./Library/Logs/CrashReporter/
), i file vengono eliminati da /etc/periodic/daily/100.clean-logs
. I suoi criteri (in quali directory scansionare e per quanto tempo lasciare i file) sono configurati /etc/defaults/periodic.conf
, ma se vuoi sovrascriverli / cambiarli dovresti creare /etc/periodic.conf.local
e mettere lì le tue personalizzazioni.Se ciò che vuoi ruotare non si adatta a nessuno di questi modelli, puoi aggiungere i tuoi script a /etc/periodic/daily/
(che verranno eseguiti ogni mattina alle 3:15), /etc/periodic/weekly/
(ogni sabato mattina alle 3:15), o /etc/periodic/monthly/
(prima di ogni mese alle 5:30).
newsyslog
viene eseguito automaticamente su OSX, utilizzo un file di configurazione come questo /etc/newsyslog.d/rails_apps.conf
per mantenere i file di registro degli sviluppatori ridotti a 5 MB
# logfilename [owner:group] mode count size when flags [/pid_file] [sig_num]
/Users/barmstrong/code/**/log/*.log 666 0 5242880 * G
Puoi ottenere logrotate tramite Homebrew. Ecco i miei appunti dall'impostazione.
brew install logrotate
Sono presenti i file di configurazione della rotazione del registro /usr/local/etc/logrotate.d/
Modifica il file di configurazione. Ad esempio, volevo ruotare alcuni file "/var/log/tend_*.log" che ho introdotto:
sudo vi /usr/local/etc/logrotate.d/tend.conf
Contenuto:
/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