Halaman manual logrotate
mengatakan bahwa:
It can be used when some program cannot be told to close its logfile
and thus might continue writing to the previous log file for some
time.
Saya bingung dengan ini. Jika suatu program tidak dapat diberitahu untuk menutup logfile-nya, ia akan terus menulis selamanya , tidak untuk suatu saat . Jika kompresi ditunda ke siklus rotasi berikutnya, program terus menulis ke file itu bahkan setelah siklus rotasi berikutnya. Bagaimana menunda menyelesaikan masalah?
Pemahaman saya adalah bahwa copytruncate
harus digunakan ketika suatu program tidak dapat diberitahu untuk menutup file log. Saya menyadari bahwa beberapa data yang ditulis ke logfile hilang ketika salinan sedang berlangsung.
Saya melihat file logrotate untuk couchdb, dan ia memiliki keduanya copytruncate
dan delaycompress
opsi.
/usr/local/couchdb-1.0.1/var/log/couchdb/*.log {
weekly
rotate 10
copytruncate
delaycompress
compress
notifempty
missingok
}
Sepertinya tidak ada gunanya menggunakan delaycompress
ketika copytruncate
sudah ada di sana. Apa yang saya lewatkan?
copytruncate
, tidak perlu memberitahu program untuk menutup logfile-nya. Jadi tidak ada artinya untuk menentukandelaycompress
bersamacopytruncate
?copytruncate
kecuali Anda benar - benar harus, karena itu kehilangan entri log. Anda dapat menggunakan kedua opsi jika Anda menginginkan fitur lain yangdelaycompress
menyediakan - kemampuan untuk membaca file log sebelumnya tanpa perlu mendekompres terlebih dahulu.copytruncate
jika saya tidak dapat memberi tahu program saya untuk memuat ulang?Tidak yakin apakah saya benar-benar memahami pertanyaan Anda, tetapi jika Anda menanyakan apa yang saya pikirkan ... Saya menggunakan ini:
Itu cara yang bagus (atau setidaknya a) untuk membunuh log dan pindah ke yang berikutnya. Untuk "program" yang payah, seperti platform ASA Cisco yang mencatat banyak data per detik, ia berfungsi.
sumber
Kita gunakan:
Ini membuat salinan apache yang telah diperbaiki
access_log
access_log.1
sehingga kami dapat menjalankan paket Statistik kami sebagai skrip di akhir hari.Logrotate hari berikutnya memampatkan pembuatan file
access_log.2.zip
sumber