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?

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


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

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

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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.