GNU/Linux >> Belajar Linux >  >> Linux

Mengelola log dengan Logrotate di Ubuntu

Kinerja lingkungan komputer atau server sangat tergantung pada memori sistem dan penggunaan disk. Jika ada sesuatu yang memakan lebih banyak ruang disk maka itu akan menyebabkan kesalahan sistem. Demikian juga, peningkatan ukuran file log harus dikontrol untuk mengurangi risiko tersebut.

Logrotate diperkenalkan sebagai utilitas sistem yang memutar, mengompresi file log, dan mengirimkan log sistem. Pengelolaan file log seperti itu mengurangi penggunaan ruang disk dan mencegah kesalahan sistem.

Pada artikel ini, kita akan membahas proses instalasi dan konfigurasi logrotate pada server Ubuntu 20.04 LTS.

Instalasi Logrotate di server Ubuntu 20.04

Di Ubuntu, logrotate diinstal secara default tetapi jika tidak diinstal, Anda dapat menginstalnya dengan perintah seperti yang ditunjukkan di bawah ini.

$ sudo apt update 
$ sudo apt install logrotate

Anda dapat mengkonfirmasi instalasi dengan perintah seperti yang ditunjukkan di bawah ini.

$ logrotate --version

File konfigurasi Logrotate

File konfigurasi untuk logrotate dibuat oleh daemon logrotate. Ada dua jalur untuk konfigurasi seperti yang ditunjukkan di bawah ini.

/etc/logrotate.conf

Ini adalah file konfigurasi yang umumnya dibuat untuk utilitas logrotate

/etc/logrotate.d/

Ini adalah direktori yang terdiri dari rotasi spesifik aplikasi. Secara default, /etc/logrotate.conf digunakan tetapi untuk setiap aplikasi memiliki konfigurasi yang berbeda, dapat diatur di /etc/logrotate.d/.

File konfigurasi Logrotate Default

Seperti yang Anda ketahui bahwa /etc/logrotate.conf adalah file konfigurasi default. Mari kita periksa file konfigurasi seperti yang ditunjukkan pada tangkapan layar di bawah ini.

Periksa file konfigurasi dengan perintah seperti yang ditunjukkan di bawah ini.

$ cat /etc/logrotate.conf

Keluaran:

Konfigurasi untuk aplikasi tertentu

Pada screenshot di atas, ada konfigurasi sebagai include /etc/logrotate.d yang berarti konfigurasi untuk aplikasi tertentu dapat diatur pada direktori ini. Di sini, kita akan menunjukkan konfigurasi untuk dpkg seperti yang ditunjukkan di bawah ini.

$ cd /etc/logrotate.d/
$ cat dpkg

Untuk mendapatkan detail dari setiap baris konfigurasi, periksa poin-poin yang dibahas di bawah ini. Konfigurasi ini akan menggantikan konfigurasi default /etc/logrotate.conf untuk aplikasi tertentu seperti dpkg.

  • bulanan:Rotasi sebulan sekali. Anda dapat menggantinya dengan harian, mingguan sesuai kebutuhan Anda.
  • rotasi 12:Dua belas file log lama akan disimpan. Ini menggantikan 4 default pada /etc/logrotate.conf
  • kompres:file log untuk aplikasi ini akan dikompres dengan menggunakan gzip
  • delaycompress:kompresi file log sebelumnya ke siklus rotasi berikutnya ditunda karena masih digunakan oleh beberapa program.
  • missingok:Jangan menulis pesan kesalahan jika file log hilang
  • notifempty:Jangan memutar file log jika kosong
  • buat root root 644:File log dibuat dengan izin 644, dengan pengguna dan grup sebagai root

Membuat file konfigurasi Logrotate

Katakanlah Anda telah menginstal aplikasi seperti nginx dan file log-nya dibuat di /var/log/nginx/ maka Anda dapat mengatur file konfigurasi logrotate untuk aplikasi khusus ini dengan perintah seperti yang ditunjukkan di bawah ini.

Arahkan ke direktori logrotate

$ cd /etc/logorate.d/

Buat file logrotate dengan editor

$ vim nginx

/var/log/nginx/*.log {
   daily
   missingok
   rotate 14
   compress
   delaycompress
   notifempty
   create 0640 www-data adm
   sharedscripts
   prerotate
   if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
      run-parts /etc/logrotate.d/httpd-prerotate; \
   fi \
   endscript
   postrotate
   invoke-rc.d nginx rotate >/dev/null 2>&1
   endscript
}

Pada konfigurasi di atas, kami telah mengatur rotasi untuk 14 sehingga 14 file log lama akan disimpan, dan file log dikompresi dengan menggunakan gzip. Konfigurasi lain yang digunakan dalam file di atas hampir dijelaskan di bagian file konfigurasi logrotate. Anda dapat menjalankan konfigurasi yang baru dibuat dengan pengguna hak istimewa sudo seperti yang ditunjukkan di bawah ini.

$ sudo logrotate -d /etc/logrotate.d/nginx

Di sini, file log dieksekusi seperti yang ditunjukkan pada tangkapan layar di bawah ini.

Masuk dengan cron

Saat menginstal paket logrotate, file crontab juga dibuat pada proses di dalam /etc/cron.daily dengan nama logrotate. Periksa tangkapan layar seperti yang ditunjukkan di bawah ini untuk detail lebih lanjut.

$ cat /etc/cron.daily/logrotate

Kesimpulan

Dalam artikel ini, Anda telah mempelajari cara menginstal paket logrotate dan memeriksa file konfigurasi aplikasi default dan spesifik untuk logrotate dengan implementasi crontab. Terima kasih!


Linux
  1. Menggunakan Logrotate di linux Untuk Mengelola File Log (dengan contoh)

  2. Cara Menggunakan Logrotate untuk Mengelola Log di Ubuntu

  3. Memahami utilitas logrotate

  1. Cara:Mengelola Log Sistem dengan Journalctl

  2. Peringatan dengan nftw

  3. logrotate tidak dapat memutar log, tidak mendapatkan kesalahan file seperti itu

  1. Ubuntu - pasang file gambar dengan izin r/w

  2. Terus pantau log dengan ekor yang sesekali diputar

  3. Logrotate tidak menghapus log lama