Apakah logrotate bersembunyi di suatu tempat di OSX, atau ada yang setara? Itu tidak ada /usr/sbin
.
mac-osx
logging
mac-osx-server
logrotate
Steve Bennett
sumber
sumber
Jawaban:
Berdasarkan jawaban Brian Armstrong, ada sesuatu dengan sedikit penjelasan dan koreksi. Ini menangani log yang dibuat oleh postgres pada OSX yang diinstal oleh Homebrew. Terletak di
/etc/newsyslog.d/postgresql.conf
:Ini akan memutar file log ketika ukurannya mencapai 2MB, menyimpan 2 arsip (untuk total penyimpanan 6MB yang digunakan), dan mengompres arsip bzip2. Ini akan memberi tahu proses postgres untuk membuka kembali file log setelah diputar, yang diperlukan untuk mendapatkan entri log baru dan untuk benar-benar membebaskan ruang disk tanpa memulai ulang mesin.
Penting untuk dicatat bahwa ukurannya adalah dalam KB, bukan byte.
Anda dapat menguji file konfigurasi (tanpa mempengaruhi file apa pun) menggunakan
sudo newsyslog -nvv
.dokumentasi newsyslog ada di sini: http://www.freebsd.org/cgi/man.cgi?newsyslog.conf(5) . Juga digunakan: http://www.redelijkheid.com/blog/2011/3/28/adding-custom-logfile-to-os-x-server-log-rotation.html
sumber
OS X memiliki beberapa cara untuk memutar / kedaluwarsa / etc log-nya, tergantung pada jenis log yang dimaksud:
logrotate
. Ini dikonfigurasi oleh/etc/newsyslog.conf
dan/etc/newsyslog.d/*
(umumnya, Anda harus menambahkan file ke/etc/newsyslog.d/
untuk menambahkan log ke daftar manajemennya)./var/log/asl/
. Saya belum sepenuhnya memahami sistem ini, tetapi database ini tampaknya dibersihkan oleh aslmanager , yang dikonfigurasi oleh/etc/asl.conf
./Library/Logs/CrashReporter/
), file-file tersebut dapat dibersihkan oleh/etc/periodic/daily/100.clean-logs
. Kebijakannya (direktori mana yang akan dipindai & berapa lama meninggalkan file) dikonfigurasikan/etc/defaults/periodic.conf
, tetapi jika Anda ingin menimpanya / mengubahnya, Anda harus membuat/etc/periodic.conf.local
dan menempatkan kustomisasi Anda di sana.Jika apa yang ingin Anda putar tidak sesuai dengan salah satu model ini, Anda dapat menambahkan skrip Anda sendiri
/etc/periodic/daily/
(yang akan dijalankan setiap pagi pukul 3:15 pagi),/etc/periodic/weekly/
(setiap Sabtu pagi pukul 3:15 pagi), atau/etc/periodic/monthly/
(pertama dari setiap bulan pukul 5.30 pagi).sumber
newsyslog
berjalan secara otomatis di OSX, saya menggunakan file konfigurasi seperti ini/etc/newsyslog.d/rails_apps.conf
untuk menjaga file log dev saya dipangkas menjadi 5MBsumber
Anda bisa mendapatkan logrotate melalui Homebrew. Ini catatan saya dari pengaturan ini.
Pasang
brew install logrotate
Konfigurasikan rotasi log
Log konfigurasi file rotasi dalam
/usr/local/etc/logrotate.d/
Edit file konfigurasi. Misalnya saya ingin memutar beberapa file "/var/log/tend_*.log" yang saya perkenalkan:
sudo vi /usr/local/etc/logrotate.d/tend.conf
Isi:
/var/log/tend_*.log { daily copytruncate rotate 3 size 10M compress }
Uji itu
sudo logrotate -v -f /usr/local/etc/logrotate.d
Memulai layanan
sudo brew services start logrotate
Mulai kembali layanan
sudo brew services restart logrotate
sumber
Salah satu cara untuk melakukannya:
http://blog.cantremember.com/logrotate-mac-os-launch-daemon-with-legacy-macport/
sumber