Contoh Logrotate Linux

Contoh Logrotate Linux



Maklumat log adalah bahagian yang sangat penting dalam mana-mana sistem pengendalian untuk mendiagnosis masalah mana-mana aplikasi yang sedang berjalan dan entri log membantu untuk mengetahui penyelesaian masalah tersebut. Kebanyakan aplikasi sistem pengendalian Linux menjana log dan pentadbir sistem mendapat maklumat yang diperlukan tentang aplikasi daripada entri log. Walau bagaimanapun, entri log kadangkala menimbulkan masalah kerana saiz entri menjadi lebih besar dengan masa. Jadi, entri log diperlukan untuk mengurus.

Logrotate ialah alat baris perintah Linux untuk mengurus entri log. Alat ini membantu melaksanakan pelbagai jenis tugas pada entri log oleh pentadbir seperti mengehadkan fail log yang diputar, memampatkan fail log yang diputar, memadam fail log yang tidak diperlukan, melaksanakan skrip shell tertentu berdasarkan fail log, dsb. daripada arahan 'logrorate' untuk menguruskan fail log dengan cara yang berbeza ditunjukkan dalam tutorial ini menggunakan berbilang contoh.

Semak Versi Logrotate yang Dipasang

Perintah 'logrotate' dipasang secara lalai dalam versi baharu sistem pengendalian Ubuntu. Jalankan arahan berikut untuk menyemak versi arahan 'logrotate' yang dipasang:







$ logrotate --versi



Entri log bagi aplikasi yang berbeza disimpan dalam folder “/var/log” secara lalai. Kandungan serupa berikut akan muncul jika anda menyemak kandungan folder.



$ ls / adalah / log





Tetapkan Konfigurasi 'Logrotate'.

Menetapkan nilai Tujuan
harian/mingguan/bulanan/tahunan Ia mentakrifkan tempoh masa untuk memutarkan log.
nombor putar Ia mentakrifkan bilangan fail yang akan disimpan sebelum mengalih keluar fail log lama.
memampatkan Ia digunakan untuk memampatkan fail log.
compresscmd Ia digunakan untuk menetapkan arahan 'compress'. Gzip ialah arahan lalai.
uncompresscmd Ia digunakan untuk menetapkan arahan 'nyahmampatkan'. Gunzip ialah arahan lalai.
delaycompress Ia digunakan untuk melambatkan proses pemampatan fail log.
pemberitahuan kosong Ia digunakan untuk tidak memutar fail kosong.
saya hilang Jika ia ditetapkan, tiada ralat dihasilkan untuk fail log yang hilang.
saiz Ia digunakan untuk menetapkan had untuk mula memutar fail log.
tarikhext Ia digunakan untuk menambah nilai tarikh sebagai akhiran fail putar.
copytruncate Ia digunakan untuk membuat salinan fail asal.
praputar Ia digunakan untuk menjalankan skrip sebelum memutar fail log.
postrotate Ia digunakan untuk menjalankan skrip selepas memutar fail log.
cipta Ia digunakan untuk mencipta fail log dengan keistimewaan root.

Sintaks:

Sintaks arahan 'logrotate' diberikan seperti berikut:



logrotate [ PILIHAN ] config_file_path

Jenis pilihan yang berbeza boleh digunakan untuk tujuan yang berbeza dengan arahan 'logrotate'.

Pilihan Logrotate

Beberapa pilihan berguna arahan 'logrotate' disebut dalam perkara berikut:

-f, –daya Ia digunakan untuk membuat putaran secara paksa apabila diperlukan.
-d, –nyahpepijat Ia digunakan untuk mendayakan mod nyahpepijat semasa putaran.
-m, –mel Ia digunakan untuk menghantar e-mel semasa putaran.
-s, –state Ia digunakan untuk fail keadaan alternatif.
–penggunaan Ia digunakan untuk mencetak maklumat penggunaan.
–?, –bantuan Ia digunakan untuk mencetak mesej bantuan.
-v, –verbose Ia digunakan untuk mencetak dalam mod verbose.

Fail Konfigurasi Logrotate

Fail konfigurasi logrotate utama terletak di lokasi '/etc/logrotate.conf'. Jalankan arahan berikut untuk membuka fail dalam editor nano:

$ nano / dan lain-lain / logrotate.conf

Tetapan lalai bagi arahan 'logrotate' ditunjukkan dalam fail 'logrotate.conf'. Arahan “include” digunakan dalam fail untuk mendapatkan semula konfigurasi yang terdapat dalam direktori “/etc/logrotate.d”.

Contoh 1: Cipta Fail Konfigurasi Logrotate Mudah

Buat fail log sampel bernama '/var/log/test.log' dengan data log sampel. Jalankan arahan berikut untuk membuka editor nano untuk mencipta fail 'logrotate.conf' baharu dalam lokasi folder '/etc/tmp'. Cipta folder “/tmp” dengan keistimewaan root jika ia tidak dibuat sebelum ini.

$ nano / dan lain-lain / tmp / logrotate.conf

Tambahkan kandungan berikut pada fail untuk fail “/var/log/test.log”. Mengikut tetapan, fail 'test.log' akan diputar setiap hari jika saiz fail melebihi 5K:

/ adalah / log / ujian.log {

setiap hari

saiz 5K

miliknya akar adm

}

Jalankan arahan berikut untuk menyemak saiz fail log:

$ ls -l / adalah / log / ujian.log

Jalankan arahan 'logrotate' selepas mencipta fail konfigurasi.

$ sudo logrotate / dan lain-lain / tmp / logrotate.conf

Jalankan arahan berikut sekali lagi untuk menyemak saiz fail log selepas melaksanakan arahan 'logrotate':

$ ls -l / adalah / log / ujian.log

Saiz fail 'test.log' ialah 1K+. Jadi, tiada putaran dilakukan berdasarkan tetapan konfigurasi.

Tukar nilai saiz kepada 1K dalam fail “/etc/tmp/logrotate.conf” dan jalankan arahan “ls” sekali lagi untuk menyemak saiz fail “/var/log/test.log”. Mengikut output, fail log diputar dan dipadam kerana had saiz melebihi.

Contoh 2: Penggunaan Logrotate Copytruncate

Cipta atau ubah suai fail “/etc/tmp/logrotate.conf” dengan tetapan berikut untuk menunjukkan penggunaan copytruncate. Mengikut tetapan baharu, logrotate mencipta salinan fail asal dengan menjadikan saiz fail asal kepada sifar.

/ adalah / log / ujian.log {

berputar 5

saiz 1 k

copytruncate

miliknya akar adm

}

Jalankan arahan berikut untuk menyemak saiz fail 'test.log':

$ ls -l / adalah / log / ujian.log

Jalankan arahan 'logrotate' selepas mencipta fail konfigurasi.

$ sudo logrotate / dan lain-lain / tmp / logrotate.conf

Jalankan arahan berikut sekali lagi untuk menyemak saiz fail 'test.log' selepas melaksanakan arahan 'logrotate':

$ ls -l / adalah / log / ujian.log

Saiz fail asal menjadi 0 selepas melaksanakan perintah 'logrotate' untuk tetapan copytruncate.

Contoh 3: Penggunaan Logrotate Compress

Cipta atau ubah suai fail “/etc/tmp/logrotate.conf” dengan tetapan berikut untuk menunjukkan penggunaan pemampat. Mengikut tetapan baharu, logrotate mencipta fail kompres bagi fail asal.

/ adalah / log / ujian.log {

berputar 5

saiz 1 k

memampatkan

cipta 770 akar adm

}

Jalankan arahan berikut untuk menyemak senarai fail dan folder '/var/log':

$ ls / adalah / log /

Jalankan arahan 'logrotate' selepas mencipta fail konfigurasi.

$ sudo logrotate / dan lain-lain / tmp / logrotate.conf

Jalankan arahan berikut sekali lagi untuk menyemak senarai fail dan folder '/var/log':

$ ls / adalah / log /

Fail termampat bagi fail “test.log” dicipta dengan nama “test.log.1.gz” dan fail asal dialih keluar.

Contoh 4: Penggunaan Logrotate Dateext

Cipta atau ubah suai fail “/etc/tmp/logrotate.conf” dengan tetapan berikut untuk menunjukkan penggunaan dateext. Mengikut tetapan baharu, logrotate mencipta fail kompres bagi fail asal dengan nilai tarikh.

adalah / log / ujian.log {

miliknya akar adm

berputar 5

saiz 1 k

memampatkan

cipta 770 akar adm

tarikhext

}

Jalankan arahan 'logrotate' selepas mencipta fail konfigurasi.

$ sudo logrotate / dan lain-lain / tmp / logrotate.conf

Jalankan arahan berikut untuk menyemak senarai fail dan folder '/var/log':

$ ls -l / adalah / log /

Fail termampat bagi fail 'test.log' dicipta dengan nama 'test.log.20240129.gz' dan fail asal dialih keluar.

Contoh 5: Penggunaan Logrotate Maxage

Cipta atau ubah suai fail “/etc/tmp/logrotate.conf” dengan tetapan berikut untuk menunjukkan penggunaan maxage. Mengikut tetapan, logrotate menyimpan lima entri log jika saiz fail log melebihi 1K selepas satu hari.

/ adalah / log / ujian.log {

miliknya akar adm

berputar 5

saiz 1 k

memampatkan

maxage 1

}

Jalankan arahan 'logrotate' berikut untuk menyimpan output dalam fail log lain bernama 'out.log':

$ sudo logrotate -s = / adalah / log / keluar.log / dan lain-lain / tmp / logrotate.conf

Menurut output berikut, fail 'out.log' dibuat selepas melaksanakan arahan 'logrotate':

Contoh 6: Penggunaan Logrotate Missingok

Cipta atau ubah suai fail “/etc/tmp/logrotate.conf” dengan tetapan berikut. Di sini, fail log 'testfile.log' tidak wujud dalam folder '/var/log'.

/ adalah / log / testfile.log {

miliknya akar adm

berputar 5

saiz 1 k

memampatkan

}

Mesej ralat dicetak selepas melaksanakan arahan 'logrotate'.

Tambah tetapan 'missingok' dalam fail konfigurasi logrotate dan jalankan arahan 'logrotate' sekali lagi. Tiada ralat dicetak untuk fail log yang hilang.

Contoh 7: Penggunaan Logrotate Prerotate

Buat fail Bash bernama 'test.sh' dengan skrip berikut yang mencetak mesej mudah. Fail digunakan dalam contoh logrotate ini untuk menunjukkan penggunaan praputar dalam fail konfigurasi logrotate.

test.sh



#!/bin/bash

bergema 'contoh logrotate...'

Selepas mencipta fail, jalankan arahan berikut untuk menetapkan kebenaran pelaksanaan fail ini untuk semua pengguna:

$ chmod a+x / rumah / persefahaman / test.sh

Sekarang, buat atau ubah suai fail “/etc/tmp/logrotate.conf” dengan tetapan berikut. Mengikut tetapan, logrotate menyimpan lima entri log jika saiz fail log melebihi 1K dan fail 'test.sh' dilaksanakan sebelum putaran.

/ adalah / log / ujian.log {

miliknya akar adm

berputar 5

saiz 1 k

praputar

/ rumah / persefahaman / ujian.sh

skrip akhir

}

Output fail 'test.sh' ditunjukkan selepas melaksanakan arahan 'logrotate':

Kesimpulan

Pelbagai kegunaan arahan 'logrotate' ditunjukkan dalam tutorial ini menggunakan berbilang contoh yang akan membantu pengguna Linux mengetahui kegunaan arahan dan mengurus fail log dengan betul.