Logrotate , OSX'te bir yere mi saklanıyor yoksa eşdeğeri var mı? İçeride değil /usr/sbin
.
Logrotate , OSX'te bir yere mi saklanıyor yoksa eşdeğeri var mı? İçeride değil /usr/sbin
.
Yanıtlar:
Brian Armstrong'un cevabına dayanarak, burada biraz daha fazla açıklama ve düzeltme içeren bir şey var. Bu, Homebrew tarafından kurulan OSX'te postgres'ler tarafından oluşturulan günlüğü işler. Bulunan /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
Bu, 2 MB boyutuna ulaştığında günlük dosyasını döndürür, 2 arşiv tutar (kullanılan toplam 6 MB depolama alanı için) ve arşivleri bzip2 ile sıkıştırır. Postgres işlemine, bir kez döndürüldükten sonra günlük dosyalarını tekrar açmak ve yeni kayıt girişleri almak ve makineyi yeniden başlatmadan disk alanını boşaltmak için gerekli olan bildirme işlemi yapılacaktır.
Boyutun bayt değil KB cinsinden olduğunu not etmek önemlidir.
Kullanarak config dosyasını (hiçbir dosyayı etkilemeden) test edebilirsiniz sudo newsyslog -nvv
.
newsyslog belgeleri burada bulunur: http://www.freebsd.org/cgi/man.cgi?newsyslog.conf(5) . Ayrıca kullanılır: http://www.redelijkheid.com/blog/2011/3/28/adding-custom-logfile-to-os-x-server-log-rotation.html
OS X, söz konusu log türüne bağlı olarak log'larını döndürme / sona erme / vb. Yöntemlerle çeşitli yollara sahiptir:
logrotate
. Tarafından yapılandırılır /etc/newsyslog.conf
ve /etc/newsyslog.d/*
(genellikle, /etc/newsyslog.d/
yönetim listesine günlük eklemek için dosya eklemelisiniz)./var/log/asl/
. Bu sistemi henüz tam olarak anlamadım, ancak bu veritabanı tarafından yapılandırılan aslmanager tarafından temizlendi /etc/asl.conf
./Library/Logs/CrashReporter/
) dizinler için dosyalar temizlenir /etc/periodic/daily/100.clean-logs
. Politikaları (hangi dizinlerin taranacağı ve dosyaların ne kadar süreyle bırakılacağı) içinde yapılandırılmıştır /etc/defaults/periodic.conf
, ancak bunları geçersiz kılmak / değiştirmek istiyorsanız /etc/periodic.conf.local
özelleştirmelerinizi oraya oluşturmalı ve koymalısınız.Döndürmek istedikleriniz bu modellerin hiçbirine uymuyorsa, kendi komut dosyalarınızı /etc/periodic/daily/
(her sabah sabah 3:15'te çalışacaksınız), /etc/periodic/weekly/
(her cumartesi sabah 3: 15'te çalışacak ) veya /etc/periodic/monthly/
(ilk olarak Her ay 05:30 da).
newsyslog
otomatik olarak OSX’de çalışır, /etc/newsyslog.d/rails_apps.conf
dev log dosyalarımın 5MB’e kesilmesi için böyle bir config dosyası kullanıyorum
# logfilename [owner:group] mode count size when flags [/pid_file] [sig_num]
/Users/barmstrong/code/**/log/*.log 666 0 5242880 * G
Homebrew üzerinden logrotate alabilirsiniz. İşte bunu ayarlamaktan gelen notlarım.
brew install logrotate
Günlük döndürme yapılandırma dosyaları /usr/local/etc/logrotate.d/
Yapılandırma dosyasını düzenleyin. Örn: Tanıştırdığım bazı "/var/log/tend_*.log" dosyalarını döndürmek istedim:
sudo vi /usr/local/etc/logrotate.d/tend.conf
İçindekiler:
/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
Bunu yapmanın bir yolu:
http://blog.cantremember.com/logrotate-mac-os-launch-daemon-with-legacy-macport/