เมื่อฉันออกjournalctl
ฉันจะได้รับบันทึกจำนวนมากของบริการระบบทั้งหมด แต่ข้อมูลทั้งหมดนี้ถูกเก็บไว้ที่ไหน?
เมื่อฉันออกjournalctl
ฉันจะได้รับบันทึกจำนวนมากของบริการระบบทั้งหมด แต่ข้อมูลทั้งหมดนี้ถูกเก็บไว้ที่ไหน?
คำตอบ:
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.
และตามที่man journalctl
พูดว่า:
journalctl may be used to query the contents of the systemd(1) journal
as written by systemd-journald.service(8).
บันทึกเหล่านี้ได้รับการจัดการโดยsystemd-journald
บริการดังนั้นคำที่เหมาะสมกว่านี้คือ " journald
บันทึก"
อย่างไรก็ตามโปรดทราบว่า Ubuntu ไม่ได้ใช้ไฟล์บันทึกเจอร์นัลแบบถาวร ระเหยเท่านั้น/run/log/journal/<machine-id>/*.journal[~]
จะถูกเก็บไว้จนกว่าการบูตครั้งต่อไป ทั้งหมดจะหายไปในการรีบูตแต่ละครั้ง
คุณอาจเห็นรายการบูตที่เก็บไว้ในบันทึกด้วย:
journalctl --list-boot
บันทึกจะยังคงอยู่ในไฟล์ข้อความภายใต้/var/log
จนกว่าคุณจะเปิดใช้งานการใช้บันทึกเจอร์นัลแบบถาวรโดยการสร้าง/var/log/journal
ไดเรกทอรี
โดยปกติแล้วไดเรคทอรีเก็บข้อมูลคือ/var/log/journal
หรือ/run/log/journal
ไม่จำเป็นต้องมีอยู่ในระบบของคุณ
หากคุณต้องการตรวจสอบปริมาณเนื้อที่ที่เจอร์นัลกำลังครอบครองบนดิสก์ของคุณเพียงพิมพ์:
$ journalctl --disk-usage
ไดเร็กทอรีหน่วยเก็บข้อมูลขึ้นอยู่กับคอนฟิกูเรชัน journald
ไฟล์การกำหนดค่าคือ:
/etc/systemd/journald.conf
/etc/systemd/journald.conf.d/*.conf
/run/systemd/journald.conf.d/*.conf
/usr/lib/systemd/journald.conf.d/*.conf
มีStorage=
ตัวเลือก "" ควบคุมว่าจะเก็บข้อมูลวารสารหรือไม่และที่ไหน ค่าที่เป็นไปได้คือ " volatile
", " persistent
", " auto
" และ " none
" ค่าเริ่มต้นเป็น " auto
"
หาก " volatile
" ข้อมูลบันทึกของวารสารจะถูกเก็บไว้ในหน่วยความจำเท่านั้นเช่นใต้ลำดับชั้น / run / log / journal (ซึ่งสร้างขึ้นหากจำเป็น)
หาก " persistent
" ข้อมูลจะถูกเก็บไว้บนดิสก์เช่นด้านล่างลำดับชั้น / var / log / journal (ซึ่งสร้างขึ้นหากจำเป็น) โดยมีทางเลือกย้อนกลับไปยัง / run / log / journal (ซึ่งสร้างขึ้นหากจำเป็น) ในช่วงต้น บูตและหากดิสก์ไม่สามารถเขียนได้
" auto
" คล้ายกับ " persistent
" แต่/var/log/journal
จะไม่สร้างไดเรกทอรีหากจำเป็นเพื่อควบคุมการมีอยู่ของข้อมูลบันทึก
" none
" ปิดที่เก็บข้อมูลทั้งหมดข้อมูลบันทึกทั้งหมดที่ได้รับจะถูกทิ้ง
นอกจากคำตอบของ Muru ว่าข้อมูลถูกเก็บไว้ที่ใดแล้วยังมีคำตอบที่เกี่ยวข้องอื่น ๆ
journalctl
เพื่อค้นหาบันทึกการบูตก่อนหน้า$ sudo mkdir -p /var/log/journal
$ sudo systemd-tmpfiles --create --prefix /var/log/journal
journalctl
ลดขนาดไฟล์ลง$ 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.