Karena halaman manual tidak menjawab pertanyaan saya dan saya tidak ingin memaksakan siklus rotasi, saya memutuskan untuk mengajukan pertanyaan di sini.
Halaman manual untuk logrotate memberikan contoh berikut:
"/var/log/httpd/access.log" /var/log/httpd/error.log {
rotate 5
mail [email protected]
size 100k
sharedscripts
postrotate
/usr/bin/killall -HUP httpd
endscript
}
Semua contoh dengan wildcard hanya berisi satu entri. Sekarang, yang saya minati adalah apakah ini juga diizinkan:
/var/log/httpd/*.log /var/log/httpd/*/*.log {
# ... same as above
}
Inilah alasannya: Saya memiliki beberapa vhosts dan saya membaginya dengan pengguna yang "memiliki" vhosts itu. Karena file-file log dapat dibaca oleh dunia, saya ingin mengikat-mount folder ke direktori home user, tetapi membatasi ke file-file log yang "dimiliki" pengguna, yang paling mudah dicapai dengan memisahkan log ke dalam folder (dan mengikat -mounting membutuhkan skema itu). Jadi saya sedang mencari solusi untuk memutar file log di bawah /var/log/httpd
serta semua file log di bawah subdirektori dari direktori itu - tanpa harus mendaftar setiap subdirektori dengan nama.
Secara umum halaman manual tidak memberikan petunjuk apakah banyak entri dimungkinkan untuk aturan wildcard atau hanya untuk jalur penuh. Saya menggunakan logrotate versi 3.7.8-6 yang datang dengan Debian "Squeeze", tapi saya rasa ini belum tentu spesifik untuk versi distro atau program.
Saya hanya ingin mengklarifikasi, karena itulah yang saya dapatkan di sini, bagaimana melakukannya,
Beberapa file log diizinkan untuk ditentukan untuk konfigurasi tunggal, misalnya
sumber
Dari halaman manual untuk logrotate :
Harap ingat untuk memodifikasi atau menghapus tanda kutip saat beralih dari satu pola ke beberapa pola:
Ini bekerja:
ini juga berfungsi:
Ini tidak bekerja:
dan tidak ada ini:
Bandingkan dengan case pola tunggal.
Ini bekerja:
dan ini juga berfungsi:
Diuji dengan logrotate 3.10.0
sumber
"/var/space /log/*.log" "/var/log/*.blog"