Bagaimana saya bisa memonitor apa yang logrotate lakukan?

51

Bagaimana saya bisa memonitor apa yang dilakukan logrotate di Ubuntu? Bisakah aktivitas logrotate dipantau?

w5m
sumber
baik Anda bisa pergi dan melihat file deskriptor mana proses telah dibuka ... Mungkin mencoba menjelaskan masalah apa yang Anda miliki? Apakah Anda mencoba men-debug skrip Anda sendiri? Kinerja skrip default / pihak ketiga?
Hubert Kario

Jawaban:

55
cat /var/lib/logrotate/status 

Untuk memverifikasi apakah log tertentu benar-benar berputar atau tidak dan untuk memeriksa tanggal dan waktu rotasi terakhir, periksa file / var / lib / logrotate / status. Ini adalah file yang diformat dengan rapi yang berisi nama file log dan tanggal terakhir diputar.

Diambil dari:

https://www.digitalocean.com/community/articles/how-to-manage-log-files-with-logrotate-on-ubuntu-12-10

Camilo Sanchez
sumber
16
Anda akan menemukan file ini seperti /var/lib/logrotate.statuspada sistem Red Hat.
Michael Hampton
1
inilah panduan lengkap untuk mengatasi masalah logrotate di sistem Red Hat: access.redhat.com/solutions/32831
Gaia
Mempertimbangkan Ubuntu, cat /var/lib/logrotate/status hanya menunjukkan aktivitas logrotate yang dimulai oleh pengguna root . Cronjobs pengguna lain dapat memicu aktivitas logrotate mereka sendiri, misalnya ketika crontab mereka memasukkan entri seperti 0 0 * * * /usr/sbin/logrotate $HOME/logrotate/logrotate.conf --state $HOME/logrotate/logrotate-state. Aktivitas logrotate itu akan ditulis ke file $HOME/logrotate/logrotate-state, dengan $HOMEmenjadi direktori home pengguna itu.
Abdull
Dalam sistem RedHat yang lebih baru (setidaknya dalam RHEL 7.6) file status sekarang di /var/lib/logrotate/logrotate.status.
Richlv
13

Anda dapat mencoba menjalankan logrotate dalam mode debug atau verbose:

-d     Turns  on  debug mode and implies -v.  In debug mode, no changes
          will be made to the logs or to the logrotate state file.

-v, --verbose
          Display messages during rotation.
kernelpanic
sumber
Apakah ini membantu ketika logrotate dimulai sebagai cron? Maksud saya, apakah ada kemungkinan untuk mencatat perilaku logrotate ke logfile?
2
/ usr / sbin / logrotate -v /etc/logrotate.conf &> /var/log/logrotate.log
kernelpanic
sudo logrotate -v /etc/logrotate.conf &> /var/log/logrotate.log bash: /var/log/logrotate.log: Izin ditolak
1
@ Bung: Jika Anda mencoba melakukan itu dari baris perintah dan Anda mendapatkan kesalahan itu, Anda harus melakukannya seperti ini: sudo logrotate -v /etc/logrotate.conf 2>&1 | sudo tee -a /var/log/logrotate.log >/dev/null( pastikan Anda memilikinya -a).
Dennis Williamson
@ Dennis ketika saya mencoba bahwa saya walaupun membuat logrotate.log tetapi memiliki 0KB dan proses tidak berhenti di terminal dan dan menunggu dengan kursor berkedip.
9

Di Suse Linux distro adalah seperti ini:

cat /var/lib/logrotate.status
gugol
sumber
AWS AMI Linux memiliki struktur status logrotate yang sama
Victor Perov
5

Berbagai log diputar pada berbagai frekuensi berdasarkan file konfigurasi (/etc/logrotate.conf) dan / atau direktori (/etc/logrotate.d). Nama dapat bervariasi pada distribusi yang berbeda. Konfigurasi dapat menentukan tindakan rotasi sebelum dan / atau pasca. Nama file yang diputar dan tanggal rotasi terakhir ada di file status (/ var / lib / logrotate / state).

Logrotate tidak memiliki fasilitas logging. Muat ulang / mulai kembali tindakan yang diinisiasi akan dicatat menurut pencatatan untuk program yang sedang ditindaklanjuti.

Cara termudah untuk melakukannya adalah mengedit /etc/cron.daily/logrotateuntuk memasukkan -vopsi. Detail tentang konfigurasi dan opsi logrotate dapat ditemukan dengan perintah man logrotate.

BillThor
sumber
3

Bung, Anda dapat memeriksa pengaturan logrotate, biasanya di /etc/logrotate.conf.

Distro modern memiliki logrotatefile konfigurasi khusus di /etc/logrotate.ddirektori.

misalnya untuk nginx

  /var/log/nginx/*.log {
    weekly
    missingok
    rotate 52

Ini akan menyimpan file selama 52 minggu (setahun). Rotasinya mingguan.


Catatan: user56548 dulu "Bung"

masukkan deskripsi gambar di sini

Dering Ø
sumber
Mungkin maksud Anda rotate 365atau weekly. Rotasi harian dengan rotate 52akan menyimpan 52 hari log, jelas.
temoto
@oto, terima kasih, sebenarnyaweekly
Ring Ø