Di mana logrotate menyimpan lognya sendiri?

25

Saya telah logrotatemenjalankan mesin AWS EC2 memutar log Apache. Setelah dikemas, log Apache disimpan ke AWS S3 melalui s3fs. Masalahnya adalah bahwa saya baru-baru ini memperhatikan bahwa saya tidak memiliki log yang diputar. Pada S3 saya memiliki log lama dari hari 48-> 60 tetapi 1-> 47 tidak muncul.

Pertanyaan saya adalah: Di mana logrotate menyimpan lognya sendiri? Mungkin saja saya memiliki beberapa masalah dengan s3fs, tetapi saya perlu tahu sebelum melakukan sesuatu. Saya mencoba mencari di suatu tempat log tetapi saya tidak bisa menemukannya.

Ada ide?

enedebe
sumber

Jawaban:

20

logrotatetidak mencatat apa pun secara default. biasanya itu harus di cron Anda di suatu tempat, misalnya:

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

Anda bisa menjalankannya secara manual untuk melihat apa yang salah, atau mengarahkan keluaran logrotate ke file di cron di atas untuk melihat apa yang terjadi hari berikutnya.

Kemungkinan suatu tempat konfigurasi tidak benar dan menyebabkan menjalankan logrotate untuk istirahat.

johnshen64
sumber
+1 saat menjalankan logrotate secara manual untuk melihat apa yang salah
cjc
terima kasih atas jawabannya, tetapi apa yang saya benar-benar ingin tahu apa yang terjadi dalam sistem saya untuk mendapatkan hasil seperti ini Terima kasih!
enedebe
apakah menjalankan logrotate secara manual memberikan kesalahan? jika ada kesalahan, Anda harus memperbaikinya di file conf atau /etc/logrotate.d/apache (atau apache2).
johnshen64
4
Anda bisa menggunakan -dflag debug dan -fflag force untuk melihat dengan tepat apa yang ingin dilakukan logrotate. -dmenonaktifkan aksi tetapi pesan yang dicetak masih akan mengklaim mereka mengubah hal-hal.
David Lord
Saat berjalan /usr/sbin/logrotate /etc/logrotate.conf, saya akan menambahkan -vuntuk melihat log detail.
Dennis Golomazov
6

Satu-satunya hal yang biasanya dicatat oleh logrotate adalah cat /var/lib/logrotate/status.

Ini diambil dari /server//a/518134/266525

dragon788
sumber
5

Tempat lain yang baik untuk melihat adalah /var/log/messagespada CentOS untuk kesalahan seperti ini dari cron.daily/etc/cron.daily/logrotate

logrotate: ALERT exited abnormally with [1]

Anda juga dapat menjalankan dalam mode debug secara manual dan memeriksa kesalahan:

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

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

Tony-Caffe
sumber
2

Jika Anda menjalankan logrotatedari cron dan tidak mengarahkan output, output, jika ada, akan masuk ke email untuk ID mana saja yang menjalankan pekerjaan cron. Saya mengarahkan output saya ke file log.

Sebagai contoh:

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

Periksa /etc/logrotate.confpengaturan konfigurasi global yang mungkin memengaruhi tugas yang dikonfigurasikan/etc/logrotate.d/

cdmo
sumber
0

Ketika logrotate tidak memutar log atau memasuki kondisi gagal, itu ide yang baik untuk menjalankan logorate secara manual dalam mode debug untuk melihat kesalahan apa yang dicantumkan, seperti ini:

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

Perintah ini menguji memutar log untuk semua layanan yang memiliki file di /etc/logrotate.d. Jika daftar kesalahan (seperti kesalahan yang disebabkan oleh entri log duplikat), Anda akan tahu mengapa logrotate memiliki masalah.

Ludvik
sumber