Adamın sayfası logrotate
şöyle diyor:
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.
Bununla kafam karıştı. Bir programın günlük dosyasını kapatması söylenemezse, bir süre için değil sonsuza kadar yazmaya devam eder . Sıkıştırma sonraki döndürme döngüsüne ertelenirse, program sonraki döndürme döngüsünden sonra bile bu dosyaya yazmaya devam eder. Erteleme sorunu çözme nasıl?
Anladığım kadarıyla, copytruncate
bir programa günlük dosyasını kapatması söylenemediğinde kullanılmalıdır. Kopyalama işlemi devam ederken kayıt dosyasına yazılan bazı verilerin kaybolduğunun farkındayım.
Ben CouchDB için logrotate dosyasına bakıyordum ve de vardı copytruncate
ve delaycompress
seçenekleri.
/usr/local/couchdb-1.0.1/var/log/couchdb/*.log {
weekly
rotate 10
copytruncate
delaycompress
compress
notifempty
missingok
}
Kullanarak anlamı yok gibi görünüyor delaycompress
zaman copytruncate
zaten orada. Neyi kaçırıyorum?
copytruncate
, programın log dosyasını kapatmasını söylememe gerek yok. Öyleysedelaycompress
birlikte belirtmek anlamsızcopytruncate
mı?