Saya memutar Nginx
log setiap hari (dengan dateext
). Setelah rotasi saya ingin mengurai file untuk hari yang baru saja berlalu dan mengkompilasi email dengan jumlah kesalahan yang dikembalikan oleh server Nginx.
Bagaimana saya bisa mengakses file output di bagian postrotate / endscript dari logrotate
?
Jawaban:
Saya tidak mengetahui adanya variabel yang dapat Anda gunakan jika itu yang Anda cari. Namun segera setelah memutar log, Anda harus tahu persis nama file yang telah diputar berdasarkan konfigurasi yang Anda tetapkan untuk rotasi (
/var/log/somefile.1
atau sejenisnya).Mungkin akan lebih mudah untuk menjawab jika Anda menggambarkan masalah aktual yang Anda coba selesaikan?
sumber
Jika Anda tidak menggunakan arahan "sharedscripts", maka skrip postrotate Anda menerima, sebagai $ 1, file yang memicu rotasi log. Ini mungkin membantu jika Anda mencoba menggunakan skrip generik dengan beberapa logrotate stanza. Artinya, diberikan sesuatu seperti ini:
Jika ada file yang cocok perlu diputar, skrip Anda akan dipanggil dengan $ 1 diatur ke "/var/log/sample1.log", "/var/log/sample2.log", atau "/var/log/sample3.log " sewajarnya. Anda kemudian dapat menambahkan ".1" untuk menemukan file yang baru saja diputar.
Jika Anda menggunakan opsi "sharedscripts", maka skrip Anda akan dipanggil dengan $ 1 set ke "/var/log/sample1.log /var/log/sample[23[.log" (yang akan membantu Anda mengidentifikasi bait tertentu tetapi bukan file yang tepat).
Semoga ini memberi Anda tempat untuk memulai. Perhatikan bahwa ini hanya akan berfungsi untuk logrotate> v3.7.5.
sumber