GNU/Linux >> Belajar Linux >  >> Linux

Cara Menghapus Log Jurnal Systemd

Tutorial singkat ini menunjukkan kepada Anda dua cara untuk menghapus log jurnal sistem dari sistem Linux Anda.

Jurnal systemd adalah sistem logging systemd sendiri. Ini setara dengan syslog di sistem init. Ini mengumpulkan dan menyimpan data logging kernel, pesan log sistem, output standar dan kesalahan untuk berbagai layanan systemd.

Mesin Linux dengan systemd menulis log ke direktori /var/log/journal. Jika Anda ingat struktur direktori Linux, /var adalah tempat penyimpanan log sistem.

Anda dapat melihat file log secara manual menggunakan perintah less atau menggunakan perintah journalctl. Untuk melihat semua log terbaru, gunakan perintah dengan opsi terbalik.

journalctl -r

Hal dengan logging adalah bahwa dari waktu ke waktu, itu mulai tumbuh besar. Dan jika Anda memeriksa ruang disk di Linux, Anda akan melihat bahwa terkadang, dibutuhkan beberapa GB ruang.

Mari saya tunjukkan cara membersihkan log jurnal systemd dan mengosongkan ruang disk di sistem Linux Anda.

Menghapus log jurnal sistem

Pertama periksa ruang yang diambil oleh log jurnal dengan perintah du:

du -sh /var/log/journal/

Anda juga dapat menggunakan perintah journalctl untuk tugas yang sama:

journalctl --disk-usage

Kedua perintah harus memberikan hasil yang kurang lebih sama:

[email protected]:~$ journalctl --disk-usage
Archived and active journals take up 1.6G in the file system.

[email protected]:~$ sudo du -sh /var/log/journal/
1.7G	/var/log/journal/

Sekarang setelah Anda mengetahui berapa banyak ruang yang dibutuhkan log jurnal, Anda dapat memutuskan apakah Anda ingin menghapus log atau tidak. Jika Anda memutuskan untuk menghapus log jurnal, izinkan saya menunjukkan beberapa cara untuk melakukannya.

Anda tentu saja dapat menggunakan perintah rm untuk menghapus file di folder log tetapi saya tidak akan menyarankan itu. Perintah journalctl memberi Anda cara yang tepat untuk menangani log lama.

Hal pertama yang harus Anda lakukan adalah memutar file jurnal. Ini akan menandai log jurnal yang sedang aktif sebagai arsip dan membuat log baru yang segar. Ini opsional, tetapi praktik yang baik untuk melakukannya.

sudo journalctl --rotate

Sekarang Anda memiliki tiga cara untuk menghapus log jurnal lama. Anda menghapus log yang lebih lama dari waktu tertentu atau Anda menghapus berkas log yang lebih lama sehingga ukuran log total terbatas pada ruang disk yang telah ditentukan sebelumnya atau Anda membatasi jumlah berkas log. Mari kita lihat cara menggunakan ketiga metode tersebut.

1. Hapus log jurnal yang lebih lama dari x hari

Ingatlah bahwa log penting untuk tujuan audit sehingga Anda tidak boleh menghapus semuanya secara bersamaan. Katakanlah Anda ingin menyimpan riwayat log hanya dalam dua hari. Untuk menghapus semua entri yang lebih lama dari dua hari, gunakan perintah ini:

sudo journalctl --vacuum-time=2d

Berikut adalah tampilan outputnya:

Vacuuming done, freed 1.6G of archived journals from /var/log/journal/1b9ab93094fa4978beba80fd3c48a18c

Anda juga dapat mengubah kerangka waktu yang disediakan dalam jam seperti 2 jam, dalam menit seperti 2m, dalam detik seperti 2 detik. Kalau mau satuan waktu lebih besar, bisa 2 minggu, 2 bulan juga.

2. Batasi log ke ukuran tertentu

Cara lain adalah dengan membatasi ukuran log. Dengan ini, file log jurnal akan dihapus hingga ruang disk yang diambil oleh log jurnal turun di bawah ukuran yang Anda tentukan.

sudo journalctl --vacuum-size=100M

Ini akan mengurangi ukuran log menjadi sekitar 100 MB.

Vacuuming done, freed 40.0M of archived journals from /var/log/journal/1b9ab93094fa4978beba80fd3c48a18c.

Anda dapat menentukan ukuran dalam GB dengan G, MB dengan M, KB dengan K dll.

3. Batasi jumlah file log

Cara ketiga adalah dengan membatasi jumlah file log. Journalctl biasanya memiliki file log untuk sistem dan pengguna. Saat log menjadi tua, mereka diarsipkan dalam berbagai file.

Anda dapat membatasi jumlah file log arsip. Katakanlah Anda hanya ingin memiliki lima file log.

journalctl --vacuum-files=5

Ini akan menghapus file log arsip lama yang hanya menyisakan sejumlah file log yang ditentukan.

Deleted archived journal /var/log/journal/1b9ab93094fa4978beba80fd3c48a18c/[email protected] (8.0M).
Deleted archived journal /var/log/journal/1b9ab93094fa4978beba80fd3c48a18c/[email protected] (48.0M).
Deleted archived journal /var/log/journal/1b9ab93094fa4978beba80fd3c48a18c/[email protected] (48.0M).
Vacuuming done, freed 104.0M of archived journals from /var/log/journal/1b9ab93094fa4978beba80fd3c48a18c.

Menghapus file log lama secara otomatis [Memerlukan pengetahuan menengah tentang baris perintah]

Apa yang baru saja Anda lakukan akan membersihkan file log untuk saat ini. Dalam sebulan log akan bertambah lagi. Anda dapat membersihkannya secara manual dengan salah satu metode yang dijelaskan di atas. Tapi itu adalah tugas yang membosankan dan Anda mungkin tidak ingat untuk melakukannya secara teratur.

Hal baiknya adalah Anda dapat mengonfigurasi systemd untuk menangani file log lama secara otomatis.

Journalctl memiliki file konfigurasi di /etc/systemd/journald.conf. Ada pengaturan yang dikomentari. Baris yang dikomentari pada dasarnya menunjukkan nilai default dari parameter pengaturan tersebut (bahkan jika mereka dikomentari).

Anda dapat mengubah beberapa pengaturan default ini untuk membersihkan file log secara otomatis.

Anda ingin mengubah pengaturan berikut:

Setelan Deskripsi
SystemMaxUse Log ruang disk maksimum yang dapat digunakan
SystemMaxFileSize Ukuran maksimum file log INDIVIDU
SystemMaxFiles Jumlah maksimum file log

Perhatian!

Harap dicatat bahwa Anda harus berhati-hati saat mengedit file konfigurasi. Anda harus nyaman menggunakan editor teks berbasis terminal seperti Vim, Emacs atau Nano agar Anda tidak membuat kesalahan konyol saat mengedit file conf.

Saya menyarankan untuk membuat cadangan file konfigurasi terlebih dahulu:

cp /etc/systemd/journald.conf /etc/systemd/journald.conf.back

Sekarang, Anda harus membatalkan komentar (hapus # di awal baris) pengaturan yang ingin Anda gunakan. Misalnya, saya ingin membatasi ruang disk maksimum yang diambil oleh file log hingga 250 MB.

Anda harus menggunakan Vim atau editor berbasis terminal lainnya untuk mengedit file konfigurasi ini. Inilah tampilan saya setelah mengedit file.

#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See journald.conf(5) for details.

[Journal]
#Storage=auto
#Compress=yes
#Seal=yes
#SplitMode=uid
#SyncIntervalSec=5m
#RateLimitIntervalSec=30s
#RateLimitBurst=1000
SystemMaxUse=250M
#SystemKeepFree=
#SystemMaxFileSize=
#SystemMaxFiles=100

Ingatlah bahwa setelah mengedit file konfigurasi, Anda harus memuat perubahan:

sudo systemctl restart systemd-journald

File journald.conf dapat digunakan untuk mengubah pengaturan journalctl lebih jauh. Anda bahkan dapat mengatur level log (info, debug, error, dll) yang ingin Anda lihat. Terserah Anda jika Anda ingin mengubah pengaturan itu juga.

Saya harap Anda menyukai tip ini untuk menghapus file log jurnal systemd. Jika Anda memiliki pertanyaan atau saran, silakan tinggalkan komentar di bawah.


Linux
  1. Cara Menghapus Cache Memori di Linux

  2. Cara membuat layanan Systemd di Linux

  3. Bagaimana Cara Membuat Journald Meningkatkan Kapasitas Penyimpanan Log?

  1. 5 alasan sysadmin menyukai systemd

  2. Kosongkan Ruang Disk – Hapus Log Jurnal Systemd di Ubuntu 20.04

  3. Bagaimana cara menonaktifkan kernel yang masuk ke jurnal systemd?

  1. Bagaimana Cara Menghapus Journalctl?

  2. Cara Menggunakan journalctl untuk Menganalisis Log di Linux

  3. Panduan Pemula untuk “journalctl” – Cara Menggunakan Journalctl untuk Melihat dan Memanipulasi Systemd Logs