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.
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.
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.
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.
Jawaban:
Diambil dari:
https://www.digitalocean.com/community/articles/how-to-manage-log-files-with-logrotate-on-ubuntu-12-10
sumber
/var/lib/logrotate.status
pada sistem Red Hat.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 seperti0 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$HOME
menjadi direktori home pengguna itu./var/lib/logrotate/logrotate.status
.Anda dapat mencoba menjalankan logrotate dalam mode debug atau verbose:
sumber
sudo logrotate -v /etc/logrotate.conf 2>&1 | sudo tee -a /var/log/logrotate.log >/dev/null
( pastikan Anda memilikinya-a
).Di Suse Linux distro adalah seperti ini:
sumber
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/logrotate
untuk memasukkan-v
opsi. Detail tentang konfigurasi dan opsi logrotate dapat ditemukan dengan perintahman logrotate
.sumber
Bung, Anda dapat memeriksa pengaturan
logrotate
, biasanya di/etc/logrotate.conf
.Distro modern memiliki
logrotate
file konfigurasi khusus di/etc/logrotate.d
direktori.misalnya untuk
nginx
Ini akan menyimpan file selama 52 minggu (setahun). Rotasinya mingguan.
Catatan: user56548 dulu "Bung"
sumber
rotate 365
atauweekly
. Rotasi harian denganrotate 52
akan menyimpan 52 hari log, jelas.weekly