Logrotatın bir yinelemesini belirli bir aralıkta zamanlamadan manuel olarak çalıştırmak mümkün müdür?
Logrotatın bir yinelemesini belirli bir aralıkta zamanlamadan manuel olarak çalıştırmak mümkün müdür?
Yanıtlar:
Evet: logrotate --force $CONFIG_FILE
--force
boyut, yaş vb. gibi belirtilen ölçütleri karşılamasalar bile dosyaları döndüreceklerini unutmayın
logrotate --force /etc/logrotate.d/
sadece dizin adıyla döndürebilirsiniz
--force
Dosyalar ölçütleri karşılamasa bile (yaş, boyut vb.) Döndürmeyi zorlayacağı doğrudur , ancak logrotate -d
bunun ortaya çıkmayacak gerçek sorunları tespit etmenin tek yolu olduğunu düşünün (örneğin, sunucum bitiyorsa) Logrotate nedeniyle aylarca çalışmama alanı ... ve hatalar --force
olduğunu File exists
logrotate -d [your_config_file]
hata ayıklama modunu çağırır, ne olacağına dair ayrıntılı bir açıklama verir, ancak günlük dosyalarına dokunulmaz.
logrotate --force
ve iyi çalışıyor.
Belirli bir dizini veya arka plan programının günlük dosyalarını zorla çalıştırmak istiyorsanız, yapılandırmayı genellikle içinde bulabilirsiniz /etc/logrotate.d
ve bunlar tek başına çalışır.
Belirtilen genel yapılandırmanın /etc/logrotate.conf
geçerli olmayacağını unutmayın, bu nedenle bunu yaparsanız /etc/logrotate.d/[servicename]
özel olarak yapılandırma dosyasında istediğiniz tüm seçenekleri belirttiğinizden emin olmalısınız .
-d
Ne olacağını görmek için deneyebilirsiniz :
logrotate -df /etc/logrotate.d/nginx
Sonra çalıştırabilirsiniz (örnek olarak nginx kullanarak):
logrotate -f /etc/logrotate.d/nginx
Ve sadece nginx günlükleri döndürülecektir.
logrotate -d /etc/logrotate.conf
da dahil olan diğer conf dosyaları üzerinden çalışacaktır.
Tüm logrotate'i çalıştırmanın yolu:
logrotate -f /etc/logrotate.conf
diğer logrotate yapılandırmalarını da içeren birincil logrotate dosyasını çalıştıracak
Belirtilen logrotate'i çalıştırmanın yolu olan aşağıdaki komutu verin:
logrotate -vf /etc/logrotate.d/custom
Seçenekler:
-v: işlemi göster
-f: zorla çalıştırma
görenek: kullanıcı tanımlı günlük ayarı
örneğin: mongodb-log
# mongodb-log rotate
/data/var/log/mongodb/mongod.log {
daily
dateext
rotate 30
copytruncate
missingok
}
düzenlemek /var/lib/logrotate.status test etmek istediğiniz günlük dosyasındaki 'son döndürme' tarihini sıfırlamak için.
Sonra koş logrotate YOUR_CONFIG_FILE
.
Veya --force bayrağını kullanabilirsiniz, ancak logrotate.status dosyasını düzenlemek, döndürülüp neyin döndürülmediği konusunda size daha fazla hassasiyet verir.
/var/lib/logrotate.status
dosya Debian Squeeze'de mevcut değil.
Sorunu çözmek için bir kabuk betiği oluşturuldu.
http://www.ict.griffith.edu.au/anthony/software/#logrotate_one
Bu komut dosyası "/etc/logrotate.d" dosyasında bulunan tek logrotate alt yapılandırma dosyasını çalıştırır, ancak "/etc/logrotate.conf" genel yapılandırma dosyasına genel ayarları dahil eder. Test etmek için diğer otpionları da kullanabilirsiniz ...
Örneğin...
logrotate_one -d syslog