Jika konfigurasi logrotate ditentukan dengan parameter "size" dan "daily", yang mana yang diutamakan? Di mana ini didokumentasikan? Saya ingin rotasi ini terjadi sebagai operasi boolean ATAU, yaitu, jika log berumur satu hari mereka diputar, ATAU jika mereka lebih besar dari ukuran tertentu mereka juga akan dirotasi. Namun, logrotate saat ini hanya menggunakan arahan "size", dan tampaknya mengabaikan arahan "harian". Logrotate diatur untuk dijalankan setiap jam. OS adalah linux, Red Hat, dan turunan Debian.
Juga, saya menetapkan "harian" pertama, lalu "ukuran" dari awal file. Tidak yakin apakah pesanan itu penting, tetapi dalam hal apa pun, seseorang harus datang terlebih dahulu dalam file konfigurasi ...
Terima kasih!
Jawaban:
Jika arahan ukuran digunakan, logrotate akan mengabaikan arahan harian , mingguan , bulanan , dan tahunan . Ini tidak jelas dalam dokumentasi ketika Anda menjalankan
man logrotate
perintah. Namun hal itu dapat dikonfirmasi dalam praktik, dan disebutkan dalam beberapa posting blog yang sewenang-wenang seperti ini .Ada arahan yang disebut minsize yang menurut halaman manual logrotate adalah satu-satunya arahan ukuran yang dapat digunakan bersama dengan yang waktu. Namun, ini masih bukan yang Anda inginkan. Menggunakan ukuran kecil dengan harian pada dasarnya mengatakan: rotasikan log setiap hari, tetapi hanya ketika mereka setidaknya berukuran #MB .
Sampai saat ini saya tidak menemukan cara dengan logrotate untuk melakukan kondisi yang Anda butuhkan: rotate setiap hari, kecuali ukurannya melebihi #MB, dalam hal ini segera berputar . Saya tidak berpikir ini didukung hanya dengan arahan logrotate. Mungkin dapat dilakukan dengan beberapa skrip cerdas melalui arahan kait skrip seperti prerotate , postrotate , firstaction , dan lastaction .
Perbarui :
Pada logrotate 3.8.1,
maxsize
dantimeperiod
didukung bersama, yang akan menjadi solusi ideal. Lihat jawaban untuk posting ini: Bagaimana cara memutar log berdasarkan interval kecuali jika log melebihi ukuran tertentu?sumber
maxsize
dantimeperiod
didukung. Per serverfault.com/questions/474941/...Jawaban pertama oleh @egg, menurut pengalaman saya dengan logrotate, tidak benar!
Jika harian, bulanan, ... datang dulu dan setelah itu arahan ukuran , harian, bulanan, ... akan diabaikan dan arahan ukuran akan berlaku untuk file log.
Demikian pula ketika saya pertama kali menggunakan arahan ukuran kemudian arahan harian, mingguan, bulanan, dan tahunan , arahan ukuran akan diabaikan.
sumber
Jika Anda menambahkan Harian itu akan berputar setiap hari bahkan jika kondisi Ukuran terpenuhi. Jika Anda menambahkan kondisi ukuran juga Anda mungkin mendapatkan dua rotasi dalam satu hari tergantung pada bagaimana verbose logging itu.
Jika Harian masuk pertama dalam skrip maka Ukuran mungkin tidak menyala.
sumber
Sebenarnya, halaman manual saya di Red Hat tampaknya cukup jelas tentang perbedaan antara ukuran dan ukuran:
sumber