Saya baru-baru ini mengaktifkan kompresi di logrotate.conf pada beberapa sistem. Log lama yang tidak terkompresi masih tetap dengan penomorannya yang lama. Saya mencari untuk menjalankan skrip untuk meletakkan log lama ini di mana mereka akan secara numerik dalam rotasi jika kompresi belum diaktifkan. Log ini akan mencakup messages
, boot.log
, spooler
, dan lain-lain.
[user@test ~]$ ls -ltr /var/log/messages*
-rw------- 1 root root 283380 Jan 22 03:49 /var/log/messages.4
-rw------- 1 root root 212641 Jan 29 03:59 /var/log/messages.3
-rw------- 1 root root 278964 Feb 5 04:01 /var/log/messages.2
-rw------- 1 root root 7828 Feb 16 04:02 /var/log/messages.7.gz
-rw------- 1 root root 12417 Feb 17 04:02 /var/log/messages.6.gz
-rw------- 1 root root 2289 Feb 18 04:02 /var/log/messages.5.gz
-rw------- 1 root root 2135 Feb 19 04:02 /var/log/messages.4.gz
-rw------- 1 root root 2138 Feb 20 04:02 /var/log/messages.3.gz
-rw------- 1 root root 2403 Feb 21 04:02 /var/log/messages.2.gz
-rw------- 1 root root 2339 Feb 22 04:02 /var/log/messages.1.gz
-rw------- 1 root root 8496 Feb 22 10:19 /var/log/messages
Jika saya secara manual mengubah nama ini saya akan melakukan mv messages.2 messages.8.tmp
untuk setiap log sehingga tidak ada file saat ini bernama pesan.8 ditimpa. Setelah semua file diganti nama maka saya akan melakukan mv messages.8.tmp messages.8
diikuti oleh gzip -9 messages.8
.
Saya telah bermain-main dengan untuk dan sementara loop dan sed, tetapi saya masih seorang penulis naskah pemula.
Angka untuk log terkompresi terbaru dan terlama akan bervariasi dari satu sistem ke sistem lainnya.
Di masa depan, saya akan secara manual mengompresi log yang lebih lama sebelum menyalakan kompres di logrotate.conf.
Singkatnya, dua pertanyaan:
- Apakah ada cara agar logrotate.conf mengenali file-file lama ini dan mengompresnya dengan sendirinya?
- Apa cara terbaik untuk skrip rotasi manual ke tempat file log lama akan berurutan, diikuti oleh kompresi?
Jawaban:
Sejauh yang saya tahu, logrotate tidak bisa meletakkan file lama ke tempatnya. Jadi, Anda perlu melakukannya dengan tangan / dengan skrip kecil.
Harap perhatikan, bahwa tergantung pada konfigurasi Anda, logrotate hanya memutar file log lama untuk waktu terbatas dan kemudian menghapusnya. Jadi mengembalikan file cadangan lama mungkin tidak berguna sampai Anda mengubah konfigurasi logrotate Anda sehingga tidak pernah menghapus log lama (variabel konfigurasi
rotate
).sumber
Rotasi log tidak bisa tetapi
gzip messages.?
akan menanganinya untuk Anda.sumber