¿ Logrotate se esconde en algún lugar de OSX, o hay un equivalente? No está en /usr/sbin
.
¿ Logrotate se esconde en algún lugar de OSX, o hay un equivalente? No está en /usr/sbin
.
Respuestas:
Según la respuesta de Brian Armstrong, aquí hay algo con un poco más de explicación y una corrección. Esto maneja el registro creado por postgres en OSX instalado por Homebrew. Ubicado en /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
Esto rotará el archivo de registro cuando alcance un tamaño de 2 MB, mantenga 2 archivos (para un total de 6 MB de almacenamiento utilizado) y bzip2-comprima los archivos. Notificará al proceso de postgres para volver a abrir los archivos de registro una vez rotados, lo cual es necesario para obtener nuevas entradas de registro y para liberar realmente el espacio en disco sin reiniciar la máquina.
Es importante tener en cuenta que el tamaño está en KB, no en bytes.
Puede probar el archivo de configuración (sin afectar ningún archivo) usando sudo newsyslog -nvv
.
La documentación de newsyslog se encuentra aquí: http://www.freebsd.org/cgi/man.cgi?newsyslog.conf(5) . También se utiliza: http://www.redelijkheid.com/blog/2011/3/28/adding-custom-logfile-to-os-x-server-log-rotation.html
OS X tiene varias formas de rotar / caducar / etc sus registros, dependiendo del tipo de registro en cuestión:
logrotate
. Está configurado por /etc/newsyslog.conf
y /etc/newsyslog.d/*
(generalmente, debe agregar archivos /etc/newsyslog.d/
para agregar registros a su lista de administración)./var/log/asl/
. Todavía no entiendo completamente este sistema, pero esta base de datos parece estar purgada por aslmanager , que está configurado por /etc/asl.conf
./Library/Logs/CrashReporter/
), los archivos se eliminan /etc/periodic/daily/100.clean-logs
. Sus políticas (qué directorios escanear y cuánto tiempo dejar los archivos) están configurados /etc/defaults/periodic.conf
, pero si desea anularlos / cambiarlos, debe crearlos /etc/periodic.conf.local
y colocar sus personalizaciones allí.Si lo que desea rotar no se ajusta a ninguno de estos modelos, puede agregar sus propios scripts a /etc/periodic/daily/
(que se ejecutarán todas las mañanas a las 3:15 a.m.), /etc/periodic/weekly/
(todos los sábados por la mañana a las 3:15 a.m.) o /etc/periodic/monthly/
(primero de todos los meses a las 5:30 a.m.).
newsyslog
se ejecuta automáticamente en OSX, uso un archivo de configuración como este /etc/newsyslog.d/rails_apps.conf
para mantener mis archivos de registro de desarrollo recortados a 5 MB
# logfilename [owner:group] mode count size when flags [/pid_file] [sig_num]
/Users/barmstrong/code/**/log/*.log 666 0 5242880 * G
Puede obtener logrotate a través de Homebrew. Aquí están mis notas de configurar esto.
brew install logrotate
Los archivos de configuración de rotación de registros están en /usr/local/etc/logrotate.d/
Editar archivo de configuración. Por ejemplo, quería rotar algunos archivos "/var/log/tend_*.log" que presenté:
sudo vi /usr/local/etc/logrotate.d/tend.conf
Contenido:
/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
Una forma de hacerlo:
http://blog.cantremember.com/logrotate-mac-os-launch-daemon-with-legacy-macport/