Logrotate adalah alat baris perintah Linux untuk mengelola entri log. Alat ini membantu melakukan berbagai jenis tugas pada entri log oleh administrator seperti membatasi file log yang diputar, mengompresi file log yang diputar, menghapus file log yang tidak diperlukan, menjalankan skrip shell tertentu berdasarkan file log, dll. Perintah “logrorate” untuk mengelola file log dengan cara berbeda ditunjukkan dalam tutorial ini menggunakan beberapa contoh.
Periksa Versi Logrotate yang Terinstal
Perintah “logrotate” diinstal secara default di versi baru sistem operasi Ubuntu. Jalankan perintah berikut untuk memeriksa versi perintah “logrotate” yang terinstal:
$ logrotate --Versi: kapan
Entri log dari berbagai aplikasi disimpan di folder “/var/log” secara default. Konten serupa berikut akan muncul jika Anda memeriksa konten folder.
$ aku / dulu / catatan
Atur Konfigurasi 'Logrotate'.
Menetapkan nilai | Tujuan |
harian/mingguan/bulanan/tahunan | Ini menentukan durasi waktu untuk memutar log. |
nomor putar | Ini menentukan jumlah file yang akan disimpan sebelum menghapus file log lama. |
kompres | Ini digunakan untuk mengompresi file log. |
komprescmd | Ini digunakan untuk mengatur perintah 'kompres'. Gzip adalah perintah default. |
buka kompresicmd | Ini digunakan untuk mengatur perintah 'uncompress'. Gunzip adalah perintah default. |
kompresi penundaan | Ini digunakan untuk menunda proses kompresi file log. |
pemberitahuan kosong | Ini digunakan untuk tidak memutar file kosong. |
Aku hilang | Jika sudah diatur, tidak ada kesalahan yang dihasilkan untuk file log yang hilang. |
ukuran | Ini digunakan untuk menetapkan batas untuk mulai memutar file log. |
tanggalteks | Ini digunakan untuk menambahkan nilai tanggal sebagai akhiran dari file putar. |
copytruncate | Ini digunakan untuk membuat salinan file asli. |
diputar sebelumnya | Ini digunakan untuk menjalankan skrip sebelum memutar file log. |
pasca putar | Ini digunakan untuk menjalankan skrip setelah memutar file log. |
membuat | Ini digunakan untuk membuat file log dengan hak akses root. |
Sintaksis:
Sintaks perintah “logrotate” diberikan sebagai berikut:
logrotate [ PILIHAN ] config_file_path
Berbagai jenis opsi dapat digunakan untuk tujuan berbeda dengan perintah “logrotate”.
Opsi Logrotate
Beberapa opsi berguna dari perintah “logrotate” disebutkan sebagai berikut:
-f, –kekuatan | Ini digunakan untuk membuat rotasi dengan kuat saat diperlukan. |
-d, –debug | Ini digunakan untuk mengaktifkan mode debug selama rotasi. |
-m, –mail |
Ini digunakan untuk mengirim email selama rotasi. |
-s, –menyatakan |
Ini digunakan untuk file status alternatif. |
-penggunaan | Ini digunakan untuk mencetak informasi penggunaan. |
-?, -membantu | Ini digunakan untuk mencetak pesan bantuan. |
-v, –verbose | Ini digunakan untuk mencetak dalam mode verbose. |
File Konfigurasi Logrotate
File konfigurasi logrotate utama terletak di lokasi “/etc/logrotate.conf”. Jalankan perintah berikut untuk membuka file di editor nano:
$ nano / dll. / logrotate.confPengaturan default dari perintah “logrotate” ditampilkan di file “logrotate.conf”. Direktif “include” digunakan dalam file untuk mengambil konfigurasi yang terletak di direktori “/etc/logrotate.d”.
Contoh 1: Buat File Konfigurasi Logrotate Sederhana
Buat contoh file log bernama “/var/log/test.log” dengan contoh data log. Jalankan perintah berikut untuk membuka editor nano untuk membuat file “logrotate.conf” baru di lokasi folder “/etc/tmp”. Buat folder “/tmp” dengan hak akses root jika belum pernah dibuat sebelumnya.
$ nano / dll. / tmp / logrotate.confTambahkan konten berikut ke file untuk file “/var/log/test.log”. Menurut pengaturan, file “test.log” akan diputar setiap hari jika ukuran file melebihi 5K:
/ dulu / catatan / tes.log {sehari-hari
ukuran 5K
miliknya akar adm
}
Jalankan perintah berikut untuk memeriksa ukuran file log:
$ aku -l / dulu / catatan / tes.logJalankan perintah “logrotate” setelah membuat file konfigurasi.
$ sudo logrotate / dll. / tmp / logrotate.confJalankan kembali perintah berikut untuk memeriksa ukuran file log setelah menjalankan perintah “logrotate”:
$ aku -l / dulu / catatan / tes.logUkuran file “test.log” adalah 1K+. Jadi, tidak ada rotasi yang dilakukan berdasarkan pengaturan konfigurasi.
Ubah nilai ukuran menjadi 1K pada file “/etc/tmp/logrotate.conf” dan jalankan kembali perintah “ls” untuk memeriksa ukuran file “/var/log/test.log”. Menurut keluarannya, file log diputar dan dihapus karena batas ukurannya terlampaui.
Contoh 2: Penggunaan Logrotate Copytruncate
Buat atau modifikasi file “/etc/tmp/logrotate.conf” dengan pengaturan berikut untuk menunjukkan penggunaan copytruncate. Menurut pengaturan baru, logrotate membuat salinan file asli dengan membuat ukuran file asli menjadi nol.
/ dulu / catatan / tes.log {memutar 5
ukuran 1k
copytruncate
miliknya akar adm
}
Jalankan perintah berikut untuk memeriksa ukuran file “test.log”:
$ aku -l / dulu / catatan / tes.logJalankan perintah “logrotate” setelah membuat file konfigurasi.
$ sudo logrotate / dll. / tmp / logrotate.confJalankan kembali perintah berikut untuk memeriksa ukuran file “test.log” setelah menjalankan perintah “logrotate”:
$ aku -l / dulu / catatan / tes.logUkuran file asli menjadi 0 setelah menjalankan perintah “logrotate” untuk pengaturan copytruncate.
Contoh 3: Penggunaan Kompres Logrotate
Buat atau modifikasi file “/etc/tmp/logrotate.conf” dengan pengaturan berikut untuk menunjukkan penggunaan kompres. Menurut pengaturan baru, logrotate membuat file kompres dari file asli.
/ dulu / catatan / tes.log {memutar 5
ukuran 1k
kompres
membuat 770 akar adm
}
Jalankan perintah berikut untuk memeriksa daftar file dan folder “/var/log”:
$ aku / dulu / catatan /Jalankan perintah “logrotate” setelah membuat file konfigurasi.
$ sudo logrotate / dll. / tmp / logrotate.confJalankan kembali perintah berikut untuk memeriksa daftar file dan folder “/var/log”:
$ aku / dulu / catatan /File terkompresi dari file “test.log” dibuat dengan nama “test.log.1.gz” dan file aslinya dihapus.
Contoh 4: Penggunaan Logrotate Dateext
Buat atau modifikasi file “/etc/tmp/logrotate.conf” dengan pengaturan berikut untuk menunjukkan penggunaan dateext. Menurut pengaturan baru, logrotate membuat file kompres dari file asli dengan nilai tanggal.
dulu / catatan / tes.log {miliknya akar adm
memutar 5
ukuran 1k
kompres
membuat 770 akar adm
tanggalteks
}
Jalankan perintah “logrotate” setelah membuat file konfigurasi.
$ sudo logrotate / dll. / tmp / logrotate.confJalankan perintah berikut untuk memeriksa daftar file dan folder “/var/log”:
$ aku -l / dulu / catatan /File terkompresi dari file “test.log” dibuat dengan nama “test.log.20240129.gz” dan file aslinya dihapus.
Contoh 5: Penggunaan Logrotate Maxage
Buat atau modifikasi file “/etc/tmp/logrotate.conf” dengan pengaturan berikut untuk menunjukkan penggunaan maxage. Menurut pengaturannya, logrotate menyimpan lima entri log jika ukuran file log melebihi 1K setelah satu hari.
/ dulu / catatan / tes.log {miliknya akar adm
memutar 5
ukuran 1k
kompres
maksimal 1
}
Jalankan perintah “logrotate” berikut untuk menyimpan output di file log lain bernama “out.log”:
$ sudo logrotate -S = / dulu / catatan / keluar.log / dll. / tmp / logrotate.confMenurut keluaran berikut, file “out.log” dibuat setelah menjalankan perintah “logrotate”:
Contoh 6: Penggunaan Logrotate Missingok
Buat atau modifikasi file “/etc/tmp/logrotate.conf” dengan pengaturan berikut. Di sini, file log “testfile.log” tidak ada di folder “/var/log”.
/ dulu / catatan / file uji.log {miliknya akar adm
memutar 5
ukuran 1k
kompres
}
Pesan kesalahan dicetak setelah menjalankan perintah “logrotate”.
Tambahkan setting “missingok” pada file konfigurasi logrotate dan jalankan kembali perintah “logrotate”. Tidak ada kesalahan yang dicetak untuk file log yang hilang.
Contoh 7: Penggunaan Logrotate Prerotate
Buat file Bash bernama “test.sh” dengan skrip berikut yang mencetak pesan sederhana. File tersebut digunakan dalam contoh logrotate ini untuk menunjukkan penggunaan prerotate dalam file konfigurasi logrotate.
tes.sh#!/bin/bash
gema 'contoh logrotate...'
Setelah membuat file, jalankan perintah berikut untuk mengatur izin eksekusi file ini untuk semua pengguna:
$ chmod a+x / rumah / memahami / tes.shSekarang, buat atau modifikasi file “/etc/tmp/logrotate.conf” dengan pengaturan berikut. Menurut pengaturan, logrotate menyimpan lima entri log jika ukuran file log melebihi 1K dan file “test.sh” dijalankan sebelum rotasi.
/ dulu / catatan / tes.log {miliknya akar adm
memutar 5
ukuran 1k
diputar sebelumnya
/ rumah / memahami / tes.sh
naskah akhir
}
Output dari file “test.sh” ditampilkan setelah menjalankan perintah “logrotate”:
Kesimpulan
Berbagai penggunaan perintah “logrotate” ditampilkan dalam tutorial ini menggunakan beberapa contoh yang akan membantu pengguna Linux mengetahui penggunaan perintah dan mengelola file log dengan benar.