Logrotate kendi günlüğünü nerede kaydeder?


25

Ben var logrotateApaçi günlükleri dönen bir EC2 AWS makinesinde çalışan. Paketlendikten sonra Apache günlükleri s3fs ile AWS S3'e kaydedilir. Sorun şu ki, son zamanlarda kütüğümün döndürülmediğini fark ettim. S3'te 48-> 60. günlerden eski günlüklerim var ama 1-> 47 görünmüyor.

Sorum şu: logrotate kendi kaydını nerede tutuyor? S3fs ile ilgili bir sorunum olabilir ama bir şey yapmadan önce bilmem gerekiyor. Kayıtları bir yerde bulmaya çalıştım ama bulamadım.

Herhangi bir fikir?

Yanıtlar:


20

logrotatevarsayılan olarak hiçbir şey kaydetmez. normalde bir yerde cronunuzda olmalıdır, örneğin:

$ grep -r -- 'logrotate.conf' /etc/cron*
/etc/cron.daily/logrotate:/usr/sbin/logrotate /etc/logrotate.conf

Neyin yanlış olduğunu görmek için el ile çalıştırabilir ya da ertesi gün ne olduğunu görmek için logrotate çıkışını yukarıdaki cron'daki bir dosyaya yönlendirebilirsiniz.

Muhtemelen bir yerlerde, config yanlıştır ve logrotate çalışmasının bozulmasına neden olmuştur.


Yanlış olanı görmek için manuel olarak logrotate çalıştırmada +1
cjc

Cevabınız için teşekkürler, ama bu tür sonuçları elde etmek için sistemimde neler olduğunu gerçekten bilmek istiyorum. Teşekkürler!
enedebe

logrotate'i manuel olarak çalıştırırsa hata verir mi? Hata varsa, bunları conf dosyasında veya /etc/logrotate.d/apache (veya apache2) içinde düzeltmeniz gerekir.
johnshen64

4
Logrotate'in tam olarak ne yapmaya çalıştığını görmek için -dhata ayıklama bayrağını ve -fzorlama bayrağını kullanabilirsiniz. -deylemi devre dışı bırakır ancak yazdırılan mesajlar hala bir şeyleri değiştirdiklerini iddia eder.
David Lord,

Çalıştırırken /usr/sbin/logrotate /etc/logrotate.conf, -vayrıntılı günlüğü görmek için eklerdim.
Dennis Golomazov


5

/var/log/messagesBakılması gereken bir başka iyi yer de cron.daily'dan kaynaklanan hatalar için CentOS'ta./etc/cron.daily/logrotate

logrotate: ALERT exited abnormally with [1]

Ayrıca manuel olarak hata ayıklama modunda da çalışabilir ve hataları kontrol edebilirsiniz:

/usr/sbin/logrotate -d /etc/logrotate.conf

Kaynak: https://access.redhat.com/solutions/32831


2

Eğer logrotatecrondan koşuyorsanız ve çıktıyı yönlendirmiyorsanız, çıktı, eğer varsa, cron mesleğini hangi kimliğin çalıştığını e-postaya gönderir. Çıktımı bir günlük dosyasına yönlendiriyorum.

Örneğin:

25 3 * * 7 /usr/sbin/logrotate -s /home/user/conf/mwarelogrotate.state 
/home/user/conf/mwarelogrotate.conf >> /home/user/logs/logrotate.log 2>&1

1

/etc/logrotate.confYapılandırılmış görevleri etkileyebilecek genel yapılandırma ayarlarını kontrol edin/etc/logrotate.d/


0

Logrotate günlükleri döndürmediğinde veya başarısız durumuna girdiğinde, hangi hataları listelediğini görmek için hata ayıklama modunda logotu manuel olarak çalıştırmak iyi bir fikirdir, bunun gibi:

/usr/sbin/logrotate -d /etc/logrotate.d/*

Bu komut, içinde dosya bulunan tüm hizmetler için günlükleri döndürmeyi test eder /etc/logrotate.d. Hataları (yinelenen günlük girişlerinin neden olduğu hatalar gibi) listelerse, logrotate'in neden sorun yaşadığını anlarsınız.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.