GNU/Linux >> Belajar Linux >  >> Linux

Konfigurasi logrotate di Redhat Linux

Masuk log adalah utilitas yang dirancang untuk administrator yang mengelola server yang menghasilkan file log dalam jumlah besar. Ini membantu mereka menghemat beberapa ruang disk, serta untuk menghindari potensi risiko membuat sistem tidak responsif karena kurangnya ruang disk.

Biasanya, solusi untuk menghindari masalah seperti ini adalah dengan menyiapkan partisi terpisah atau volume logis untuk /var titik pemasangan. Namun, logrotate juga dapat menjadi solusi yang tepat untuk masalah ini, terutama jika sudah terlambat untuk memindahkan semua log ke dalam partisi yang berbeda.

Dalam tutorial ini, kami akan menunjukkan cara mengonfigurasi layanan logrotate di Red Hat Enterprise Linux, sehingga Anda dapat mengambil file log kembali di bawah kendali Anda.

Dalam tutorial ini Anda akan mempelajari:

  • Cara menggunakan utilitas logrotate di RHEL
  • Di mana file konfigurasi logrotate disimpan
  • Cara menyiapkan konfigurasi logrotate kustom
  • Cara menguji implementasi logrotate
Persyaratan Perangkat Lunak dan Konvensi Baris Perintah Linux
Kategori Persyaratan, Konvensi, atau Versi Perangkat Lunak yang Digunakan
Sistem Linux Red Hat Enterprise
Perangkat Lunak logrotate
Lainnya Akses istimewa ke sistem Linux Anda sebagai root atau melalui sudo perintah.
Konvensi # – membutuhkan perintah linux yang diberikan untuk dieksekusi dengan hak akses root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah
$ – membutuhkan perintah linux yang diberikan untuk dieksekusi sebagai pengguna biasa yang tidak memiliki hak istimewa

Apa itu logrotate?


Logrotate memberikan kemampuan bagi administrator sistem untuk secara sistematis memutar dan mengarsipkan file log apa pun yang dihasilkan oleh sistem dan dengan demikian mengurangi kebutuhan ruang disk sistem operasi. Secara default, logrotate dipanggil sekali sehari menggunakan penjadwal cron dari lokasi /etc/cron.daily/ .

# ls /etc/cron.daily/
cups  logrotate  makewhatis.cron  mlocate.cron  prelink  readahead.cron  rhsmd  tmpwatch

Mengonfigurasi logrotate

Konfigurasi Logrotate dilakukan dengan mengedit dua file konfigurasi terpisah:

  • /etc/logrotate.conf
  • file konfigurasi khusus layanan yang disimpan di /etc/logrotate.d/

logrotate.conf utama file berisi konfigurasi generik. Berikut adalah file konfigurasi logrotate default logrotate.conf :

  weekly
  rotate 4
  create
  dateext
  include /etc/logrotate.d
  /var/log/wtmp {
      monthly
      create 0664 root utmp
          minsize 1M
      rotate 1
  }
  • Baris 1 – mingguan opsi konfigurasi memastikan rotasi mingguan semua file log yang ditentukan dalam file konfigurasi utama dan di direktori /etc/logrotate.d/.
  • Baris 2 – putar 4 memastikan bahwa logrotate menyimpan cadangan semua file log selama 4 minggu
  • Baris 3 – buat option menginstruksikan logrotate untuk membuat file log kosong baru setelah setiap rotasi
  • Baris 4 – teks tanggal menambahkan ekstensi ke semua file log yang diputar dalam bentuk tanggal ketika setiap file log tertentu diproses oleh logrotate
  • Baris 5 – sertakan semua konfigurasi lain dari direktori /etc/logrotate.d
  • Baris 6 – 11 berisi konfigurasi rotasi log layanan tertentu

Berbeda dengan logrotate.conf , direktori /etc/logrotate.d/ berisi file konfigurasi layanan tertentu yang digunakan oleh logrotate. Pada bagian selanjutnya kita akan membuat contoh konfigurasi logrotate kerangka.

Termasuk log layanan baru untuk logrotate

Pada bagian ini kita akan menambahkan file log baru ke dalam konfigurasi logrotate. Katakanlah kita memiliki file log bernama /var/log/linuxserver.log , duduk di /var/log . kami direktori yang perlu dirotasi setiap hari.

Pertama kita perlu membuat file konfigurasi logrotate baru untuk mengakomodasi file log baru kita:

# vi /etc/logrotate.d/linuxserver

Sisipkan teks berikut ke /etc/logrotate.d/linuxserver:

/var/log/linuxserver.log {
        rotate 7
        daily
        compress
        delaycompress
        missingok
        notifempty
        create 660 linuxuser linuxuser }

File konfigurasi ini akan berjalan setiap hari, membuat maksimal 7 arsip yang dimiliki oleh linuxuser dan grup linuxuser dengan 660 izin, kompres semua log dan hanya mengecualikan kemarin dan file log kosong. Berikut adalah beberapa kata kunci konfigurasi logrotate yang dipilih. Untuk tutorial lengkap, periksa halaman manual logrotate.

setiap hari File log dirotasi setiap hari.
mingguan File log dirotasi jika hari kerja saat ini kurang dari hari kerja rotasi terakhir atau jika lebih dari seminggu telah berlalu sejak rotasi terakhir. Ini biasanya sama dengan memutar log pada hari pertama dalam seminggu, tetapi jika logrotate tidak dijalankan setiap malam, rotasi log akan terjadi pada kesempatan valid pertama.
bulanan File log dirotasi saat logrotate pertama kali dijalankan dalam sebulan (biasanya pada hari pertama setiap bulan).
pemberitahuan kosong Jangan memutar log jika kosong (ini mengesampingkan opsi ifempty).
tanpa kompres File log versi lama tidak dikompresi.
delaycompress Tunda kompresi file log sebelumnya ke siklus rotasi berikutnya. Ini hanya berpengaruh bila digunakan dalam kombinasi dengan kompres. Ini dapat digunakan ketika beberapa program tidak dapat diperintahkan untuk menutup file log-nya dan dengan demikian dapat terus menulis ke file log sebelumnya untuk beberapa waktu.
kompres File log versi lama dikompres dengan gzip secara default.
alamat email Bila log dirotasi dari keberadaannya, log akan dikirimkan ke alamat. Jika tidak ada email yang harus dibuat oleh log tertentu, arahan nomail dapat digunakan.
merindukan Jika file log hilang, lanjutkan ke yang berikutnya tanpa mengeluarkan pesan kesalahan.

Setelah file konfigurasi Anda siap, cukup salin ke direktori logrotate dan ubah pemilik dan izin:

# cp linuxserver /etc/logrotate.d/
# chmod 644 /etc/logrotate.d/linuxserver
# chown root.root /etc/logrotate.d/linuxserver

Menguji konfigurasi Logrotate baru

Setelah konfigurasi logrotate diimplementasikan, ikuti langkah-langkah di bawah ini untuk mengujinya.

  1. Buat beberapa contoh file log, jika belum ada:
    # echo "rotate my log file" > /var/log/linuxserver.log
    
  2. Setelah file log Anda berada di tempatnya, paksa logrotate untuk memutar semua log dengan -f pilihan.
    # logrotate -f /etc/logrotate.conf
    

    Peringatan:Perintah di atas akan merotasi semua log Anda yang ditentukan di /etc/logrotate.d direktori.

  3. Sekarang kunjungi kembali direktori /var/log/Anda dan konfirmasikan bahwa file log Anda telah dirotasi dan file log baru telah dibuat.

Pemikiran Penutup

Seperti yang telah disebutkan sebelumnya, cara terbaik untuk menghindari sistem Anda tersumbat oleh file log adalah dengan membuat partisi/volume logis terpisah untuk /var/ Anda atau bahkan lebih baik /var/log direktori. Namun, meskipun demikian, logrotate dapat membantu Anda menghemat ruang disk dengan mengompresi file log Anda. Logrotate juga dapat membantu Anda mengarsipkan file log untuk referensi di masa mendatang dengan membuat salinan tambahan atau dengan mengirim email kepada Anda file log yang baru dirotasi.


Linux
  1. Cara Konfigurasi LVM di Linux / CentOS / Redhat

  2. Cara mengkonfigurasi repositori YUM di Linux/Centos/Redhat | YUM di Linux/Centos/Redhat

  3. Contoh Perintah logrotate di Linux

  1. Cara memeriksa versi Redhat

  2. Konfigurasikan penyimpanan virtual KVM default di Redhat Linux

  3. Ubah timer kernel linux

  1. Cara mengkonfigurasi Virtualisasi di Redhat Linux

  2. Konfigurasi Server NFS Cepat pada Sistem Redhat 7 Linux

  3. Menginstal Maven 3.0.5 di RedHat Linux