Cara membuat perubahan log-rotate berlaku

99

Saya mengikuti tautan ini untuk mengubah konfigurasi log-rotate untuk RHEL 6

Setelah saya membuat perubahan ke file konfigurasi, apa yang harus saya lakukan untuk membiarkan ini berlaku?

BufBills
sumber

Jawaban:

139

logrotatedigunakan crontabuntuk bekerja. Ini dijadwalkan bekerja, bukan daemon, jadi tidak perlu memuat ulang konfigurasinya.
Ketika crontabdijalankan logrotate, itu akan menggunakan file konfigurasi baru Anda secara otomatis.
Jika Anda perlu menguji konfigurasi Anda, Anda juga dapat menjalankannya logrotatesendiri dengan perintah:

logrotate /etc/logrotate.d/your-logrotate-config

Atau seperti yang disebutkan dalam komentar, identifikasi logrotatebaris dalam output dari perintah crontab -ldan jalankan baris perintah merujuk ke jawaban slm untuk memiliki cron yang tepat. Penjelasan harian

Kiwy
sumber
1
Hanya untuk menambah jawaban Anda, entri cron untuk logrotatedijadwalkan berjalan sekali sehari.
mkc
@Ketan, jadi, bagaimana saya bisa membuatnya memengaruhi segera? terima kasih
BufBills
Tidak yakin. Salah satu kemungkinan adalah menemukan entri yang sesuai dari crontab via crontab -ldan menjalankannya.
mkc
2
Jika Anda ingin mulai berlaku segera jalankan kata penutup cron.
slm
2
logrotatememiliki -dopsi untuk pengujian (atau "debugging"), saya sarankan menjalankannya setidaknya sekali dengan itu.
FrustratedWithFormsDesigner
36

Sebagian besar logrotatepengaturan yang saya lihat di berbagai distro habis /etc/cron.daily. Ada skrip shell yang diberi nama tepat logrotate.

Contoh

$ ls -l /etc/cron.daily/logrotate 
-rwxr-xr-x 1 root root 180 May 18  2011 /etc/cron.daily/logrotate

Manual dijalankan

Jika Anda ingin membuatnya berjalan secara manual cukup jalankan script sebagai root:

$ sudo /etc/cron.daily/logrotate

Jika Anda melihat skrip yang biasanya ada di sana, ia menunjukkan kepada Anda bagaimana Anda juga dapat menjalankan logrotatesecara manual, hanya dengan menjalankan logrotate+ path ke file konfigurasinya.

#!/bin/sh

/usr/sbin/logrotate /etc/logrotate.conf
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
    /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0
slm
sumber
31

Itu harus otomatis melalui cron. Anda dapat memaksanya untuk menguji perubahan Anda.

Untuk logrotate global:

sudo logrotate -v -f /etc/logrotate.conf

Untuk satu file conf:

sudo logrotate -v -f /etc/logrotate.d/someapp.conf
maskeda
sumber
11
-funtuk rotasi kekuatan, ada juga -duntuk debug, yang juga menjalankan Kering, itu akan mencetak semua yang akan dilakukan tetapi tidak benar-benar melakukannya.
ThorSummoner
5

Pada mesin CentOS 6.5 saya untuk mengatur logrotatefor nginx saya harus melakukan ini:

logrotate /etc/logrotate.d/nginx

Dan kemudian saya memeriksa apakah logrotate merawat konfigurasi nginx baru saya seperti ini:

cat /var/lib/logrotate.status
Raptor
sumber