Logrotate se cache- t- il quelque part sur OSX ou existe-t-il un équivalent? Ce n'est pas dans /usr/sbin
.
Logrotate se cache- t- il quelque part sur OSX ou existe-t-il un équivalent? Ce n'est pas dans /usr/sbin
.
Réponses:
D'après la réponse de Brian Armstrong, voici quelque chose avec un peu plus d'explications et une correction. Cela gère le journal créé par postgres sur OSX installé par Homebrew. Situé à /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
Cela fera tourner le fichier journal lorsqu'il atteindra 2 Mo, conservera 2 archives (pour un total de 6 Mo de stockage utilisé) et bzip2-compressera les archives. Il notifiera au processus postgres de rouvrir les fichiers journaux une fois la rotation effectuée, ce qui est nécessaire pour obtenir de nouvelles entrées de journal et libérer réellement l'espace disque sans redémarrer la machine.
Il est important de noter que la taille est en Ko, pas en octets.
Vous pouvez tester le fichier de configuration (sans affecter les fichiers) en utilisant sudo newsyslog -nvv
.
La documentation de newsyslog se trouve ici: http://www.freebsd.org/cgi/man.cgi?newsyslog.conf(5) . Également utilisé: http://www.redelijkheid.com/blog/2011/3/28/adding-custom-logfile-to-os-x-server-log-rotation.html
OS X dispose de plusieurs méthodes pour faire pivoter / expirer / etc ses journaux, en fonction du type de journal en question:
logrotate
. Il est configuré par /etc/newsyslog.conf
et /etc/newsyslog.d/*
(généralement, vous devez ajouter des fichiers /etc/newsyslog.d/
pour ajouter des journaux à sa liste de gestion)./var/log/asl/
. Je ne comprends pas encore tout à fait ce système, mais cette base de données semble être purgée par aslmanager , qui est configuré par /etc/asl.conf
./Library/Logs/CrashReporter/
), les fichiers sont purgés par /etc/periodic/daily/100.clean-logs
. Ses stratégies (dans quels répertoires analyser et combien de temps laisser des fichiers) sont configurées /etc/defaults/periodic.conf
, mais si vous souhaitez les remplacer / les modifier, vous devez créer /etc/periodic.conf.local
et y placer vos personnalisations.Si ce que vous voulez rotate ne correspond à aucun de ces modèles, vous pouvez ajouter vos propres scripts /etc/periodic/daily/
(which'll être exécuté tous les matins à 3h15), /etc/periodic/weekly/
(tous les samedis matin à 03h15), ou /etc/periodic/monthly/
( d' abord tous les mois à 5h30).
newsyslog
s'exécute automatiquement sur OSX, j'utilise un fichier de configuration comme celui-ci /etc/newsyslog.d/rails_apps.conf
pour conserver mes fichiers de journal de développement compressés à 5 Mo
# logfilename [owner:group] mode count size when flags [/pid_file] [sig_num]
/Users/barmstrong/code/**/log/*.log 666 0 5242880 * G
Vous pouvez obtenir logrotate via Homebrew. Voici mes notes de mise en place.
brew install logrotate
Les fichiers de configuration de rotation des journaux sont en /usr/local/etc/logrotate.d/
Editer le fichier de configuration. Par exemple, je voulais faire pivoter certains fichiers "/var/log/tend_*.log" que j'ai introduits:
sudo vi /usr/local/etc/logrotate.d/tend.conf
Contenu:
/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
Une façon de le faire:
http://blog.cantremember.com/logrotate-mac-os-launch-daemon-with-legacy-macport/