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, copytruncatebir 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ı copytruncateve delaycompressseç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 delaycompresszaman copytruncatezaten orada. Neyi kaçırıyorum?
copytruncate, programın log dosyasını kapatmasını söylememe gerek yok. Öyleysedelaycompressbirlikte belirtmek anlamsızcopytruncatemı?