Bunu yapmanın bir yolu var mı?
Bunu yapmanın bir yolu var mı?
Yanıtlar:
Logrotate.conf dosyanızda (veya eşdeğer logrotate.d dosyanızda), "yazan satırı değiştirin
rotate 10
(Numaranız farklı olabilir) daha büyük bir numaraya Bu, o kadar çok günlük kaydını tutmasını söyler. 100 yıl sürecek 36500, yapabilirsiniz.
Veritabanı yedeklemelerimin günlük, haftalık ve aylık olarak rotasyonunu yapmak için bunu arıyorum; bu yüzden dosyayı günlük olarak döndürüyorum, ancak haftalık dönüş yapmak için dosyayı saklıyorum ve yıllık dönüş için aynı.
Kopyala seçeneğini kullanın. Kılavuzdan:
copy
kopya Günlük dosyasının bir kopyasını alın, ancak orijinali hiçbir şekilde değiştirmeyin. Bu seçenek, örneğin, geçerli günlük dosyasının anlık görüntüsünü almak için veya başka bir yardımcı programın dosyayı kesmesi veya ayrıştırması gerektiğinde kullanılabilir. Bu seçenek kullanıldığında, eski günlük dosyası yerinde kaldığından, oluşturma seçeneğinin etkisi olmaz.
Rotasyonun silinmesi gereken noktayı bir kenara koymak ... ;-)
Basitçe 'kopya' kelimesini uygun dosyaya ekleyebilirsiniz (muhtemelen /etc/logrotate.d). Örneğin, bir apache2 logrotate betiği şöyle görünür:
/var/log/apache2/*.log { haftalık missingok 52 döndür kompres delaycompress notifempty kopya sharedscripts postrotate eğer [-f "`. / etc / apache2 / envvars; echo $ {APACHE_PID_FILE: - / var / run / apache2.pid} `"]; sonra /etc/init.d/apache2 yeniden yükle> / dev / null fi endscript }
Bunu dene ve istediğini yapıp yapmadığını kontrol et.