Ketika saya mengeluarkan journalctl
saya mendapatkan log besar-besaran dari semua layanan sistem, tetapi di mana semua informasi ini disimpan?
Ketika saya mengeluarkan journalctl
saya mendapatkan log besar-besaran dari semua layanan sistem, tetapi di mana semua informasi ini disimpan?
Jawaban:
Dari man systemd-journald
:
FILES
/etc/systemd/journald.conf
Configure systemd-journald behavior. See journald.conf(5).
/run/log/journal/machine-id/*.journal,
/run/log/journal/machine-id/*.journal~,
/var/log/journal/machine-id/*.journal,
/var/log/journal/machine-id/*.journal~
systemd-journald writes entries to files in
/run/log/journal/machine-id/ or /var/log/journal/machine-id/ with
the ".journal" suffix. If the daemon is stopped uncleanly, or if
the files are found to be corrupted, they are renamed using the
".journal~" suffix, and systemd-journald starts writing to a new
file. /run is used when /var/log/journal is not available, or when
Storage=volatile is set in the journald.conf(5) configuration file.
Dan seperti yang man journalctl
dikatakan:
journalctl may be used to query the contents of the systemd(1) journal
as written by systemd-journald.service(8).
Log ini dikelola oleh systemd-journald
layanan, jadi istilah yang lebih tepat adalah " journald
log".
Namun perlu dicatat bahwa Ubuntu tidak menggunakan file log journald persisten secara default. Hanya volatile /run/log/journal/<machine-id>/*.journal[~]
yang disimpan hingga boot berikutnya. Semua hilang pada setiap reboot.
Anda mungkin melihat daftar boot yang disimpan di log dengan:
journalctl --list-boot
Log masih disimpan dalam file teks di bawah /var/log
kecuali Anda telah mengaktifkan penggunaan jurnal journald persisten dengan membuat /var/log/journal
direktori.
Biasanya direktori penyimpanan adalah /var/log/journal
atau /run/log/journal
, tetapi tidak harus selalu ada di sistem Anda.
Jika Anda hanya ingin memeriksa jumlah ruang yang saat ini ditempati jurnal pada disk Anda, cukup ketik:
$ journalctl --disk-usage
Direktori penyimpanan tergantung pada konfigurasi journald.
File konfigurasi adalah:
/etc/systemd/journald.conf
/etc/systemd/journald.conf.d/*.conf
/run/systemd/journald.conf.d/*.conf
/usr/lib/systemd/journald.conf.d/*.conf
Di sana opsi " Storage=
" mengontrol apakah akan menyimpan data jurnal atau tidak, dan di mana. Nilai yang mungkin adalah " volatile
", " persistent
", " auto
" dan " none
". Default ke " auto
".
Jika " volatile
", data jurnal jurnal hanya akan disimpan dalam memori, yaitu di bawah hierarki / run / log / jurnal (yang dibuat jika diperlukan).
Jika " persistent
", data akan disimpan lebih disukai di disk, yaitu di bawah hirarki / var / log / jurnal (yang dibuat jika diperlukan), dengan fallback ke / run / log / jurnal (yang dibuat jika diperlukan), selama awal boot dan jika disk tidak dapat ditulisi.
" auto
" Mirip dengan " persistent
" tapi direktori /var/log/journal
yang tidak dibuat jika diperlukan, sehingga kontrol keberadaannya di mana log data berjalan.
" none
" mematikan semua penyimpanan, semua data log yang diterima akan dihapus.
Selain jawaban Muru tentang di mana data disimpan, ada jawaban lain yang relevan.
journalctl
untuk menemukan log boot sebelumnya$ sudo mkdir -p /var/log/journal
$ sudo systemd-tmpfiles --create --prefix /var/log/journal
journalctl
ukuran file tetap rendah$ journalctl --vacuum-size=200M
Deleted archived journal /var/log/journal/d7b25a27fe064cadb75a2f2f6ca7764e/system@00056515dbdd9a4e-a6fe2ec77e516045.journal~ (56.0M).
Deleted archived journal /var/log/journal/d7b25a27fe064cadb75a2f2f6ca7764e/user-65534@00056515dbfe731d-b7bab56cb4efcbf6.journal~ (8.0M).
Deleted archived journal /var/log/journal/d7b25a27fe064cadb75a2f2f6ca7764e/user-1000@1bbb77599cf14c65a18af51646751696-000000000000064f-00056444d58433e1.journal (112.0M).
Vacuuming done, freed 176.0M of archived journals on disk.