O logrotate está escondido em algum lugar no OSX ou existe um equivalente? Não está dentro /usr/sbin
.
mac-osx
logging
mac-osx-server
logrotate
Steve Bennett
fonte
fonte
Respostas:
Com base na resposta de Brian Armstrong, aqui está algo com um pouco mais de explicação e correção. Isso lida com o log criado pelo postgres no OSX instalado pelo Homebrew. Localizado em
/etc/newsyslog.d/postgresql.conf
:Isso girará o arquivo de log quando atingir 2 MB de tamanho, manterá 2 arquivos (para um total de 6 MB de armazenamento usado) e compactará os arquivos compactados com o bzip2. Ele notificará o processo do postgres para reabrir os arquivos de log uma vez rotacionados, o que é necessário para obter novas entradas de log e liberar realmente o espaço em disco sem reiniciar a máquina.
Importante observar que o tamanho está em KB, não em bytes.
Você pode testar o arquivo de configuração (sem afetar nenhum arquivo) usando
sudo newsyslog -nvv
.A documentação do newsyslog está localizada aqui: http://www.freebsd.org/cgi/man.cgi?newsyslog.conf(5) . Também usado: http://www.redelijkheid.com/blog/2011/3/28/adding-custom-logfile-to-os-x-server-log-rotation.html
fonte
O OS X tem várias maneiras de rotacionar / expirar / etc seus logs, dependendo do tipo de log em questão:
logrotate
. Ele é configurado por/etc/newsyslog.conf
e/etc/newsyslog.d/*
(geralmente, você deve adicionar arquivos/etc/newsyslog.d/
para adicionar logs à sua lista de gerenciamento)./var/log/asl/
. Ainda não entendo completamente esse sistema, mas esse banco de dados parece ter sido removido pelo aslmanager , configurado por/etc/asl.conf
./Library/Logs/CrashReporter/
), os arquivos são eliminados/etc/periodic/daily/100.clean-logs
. Suas políticas (em quais diretórios verificar e por quanto tempo deixar os arquivos) estão configuradas/etc/defaults/periodic.conf
, mas se você deseja substituí-las / alterá-las, deve criar/etc/periodic.conf.local
e colocar suas personalizações lá.Se o que você deseja girar não se encaixa em nenhum desses modelos, você pode adicionar seus próprios scripts
/etc/periodic/daily/
(que serão executados todas as manhãs às 3:15 da manhã),/etc/periodic/weekly/
(todas as manhãs de sábado às 3:15 da manhã) ou/etc/periodic/monthly/
(primeiro de todos os meses às 5:30 da manhã).fonte
newsyslog
é executado automaticamente no OSX, eu uso um arquivo de configuração como este/etc/newsyslog.d/rails_apps.conf
para manter meus arquivos de log de desenvolvimento aparados em 5 MBfonte
Você pode obter o logrotate via Homebrew. Aqui estão minhas anotações sobre como configurar isso.
Instalar
brew install logrotate
Configurar rotação de log
Os arquivos de configuração de rotação de log estão em
/usr/local/etc/logrotate.d/
Edite o arquivo de configuração. Por exemplo, eu queria rotacionar alguns arquivos "/var/log/tend_*.log" que apresentei:
sudo vi /usr/local/etc/logrotate.d/tend.conf
Conteúdo:
/var/log/tend_*.log { daily copytruncate rotate 3 size 10M compress }
Teste
sudo logrotate -v -f /usr/local/etc/logrotate.d
Começar serviço
sudo brew services start logrotate
Reiniciar serviço
sudo brew services restart logrotate
fonte
Uma maneira de fazer isso:
http://blog.cantremember.com/logrotate-mac-os-launch-daemon-with-legacy-macport/
fonte