รายงานว่าเป็นจุดบกพร่องซึ่งเป็นคุณลักษณะที่ไม่มีเอกสาร
มีรายงานข้อผิดพลาดในหัวข้อนี้ เพราะrsyslog
อยู่แล้วรักษาวารสารบูตหลายใน/var/log/syslog
และsyslog.1
, .2.gz
, .3.gz
... syslog.7.gz
นักพัฒนาที่รู้สึกว่าการรักษาพิเศษjournalctl
บันทึกจะเสียพื้นที่ดิสก์
รายงานข้อผิดพลาดระบุเมื่อวันที่ 3 มกราคม 2018ว่าสำหรับการติดตั้งใหม่rsyslog
จะไม่เป็นค่าเริ่มต้นอีกต่อไปและjournalctl
จะเก็บบันทึกการบูตข้อมูลหลายรายการ
สร้างบันทึกการบูตหลายรายการโดยไม่ต้องติดตั้ง Ubuntu ใหม่
พวกเราส่วนใหญ่จะไม่ทำการติดตั้งใหม่ดังนั้นเพื่อเปิดใช้งานการjournalctl
บันทึกการบูตหลายครั้งซึ่งในกรณีนี้เราสามารถใช้:
$ sudo mkdir -p /var/log/journal
$ sudo systemd-tmpfiles --create --prefix /var/log/journal
Cannot set file attribute for '/var/log/journal', value=0x00800000, mask=0x00800000: Operation not supported
ตามGitHubนี้รายงานข้อความเตือน"ไม่สามารถตั้งค่าแอตทริบิวต์ไฟล์"สามารถละเว้น
การตั้งค่าหน่วยเก็บถาวรแบบเลือกได้
หลังจากใช้การบันทึกการบูตก่อนหน้านี้เป็นเวลาหลายเดือนฉันได้ค้นพบตัวเลือกอื่นที่สามารถตั้งค่าได้ใน/etc/systemd/journald.conf
:
จากหน้าคน journald.conf :
= การจัดเก็บข้อมูล
ควบคุมตำแหน่งที่จะเก็บข้อมูลเจอร์นัล หนึ่งใน "volatile", "persistent", "auto" และ "none" หาก "เปลี่ยนแปลงได้" ข้อมูลบันทึกรายวันจะถูกเก็บไว้ในหน่วยความจำเท่านั้นเช่นใต้ / ลำดับชั้น / เรียกใช้ / บันทึก / สมุดรายวัน (ซึ่งถูกสร้างขึ้นหากจำเป็น) หาก "ถาวร" ข้อมูลจะถูกเก็บไว้บนดิสก์เช่นด้านล่างของ/var/log/journal
ลำดับชั้น (ซึ่งสร้างขึ้นหากจำเป็น) โดยมีทางเลือกกลับไปที่/run/log/journal
(ซึ่งถูกสร้างหากจำเป็น) ในระหว่างการบูตในช่วงต้นและหากดิสก์ไม่สามารถเขียนได้ "auto" คล้ายกับ "persistent" แต่/var/log/journal
ไม่ได้สร้างไดเรกทอรีหากจำเป็นเพื่อให้การควบคุมการดำรงอยู่ของข้อมูลบันทึก "none" ปิดการเก็บข้อมูลทั้งหมดข้อมูลบันทึกที่ได้รับจะถูกทิ้ง การส่งต่อไปยังเป้าหมายอื่น ๆ เช่นคอนโซล บัฟเฟอร์บันทึกเคอร์เนลหรือซ็อกเก็ต syslog จะยังคงทำงานได้ เริ่มต้นที่ "อัตโนมัติ"
สรุปลบความคิดเห็นและแก้ไขบรรทัดเป็น:
Storage=persistent
แสดงรายการรองเท้าก่อนหน้า
$ journalctl --list-boots
-15 58a9e56135564cd8a52d547b19e76bf5 Fri 2018-02-02 18:34:35 MST—Fri 2018-02-02 23:07:14 M
-14 3514e056440341b1b6e5f03d109681bc Sat 2018-02-03 06:05:12 MST—Sat 2018-02-03 08:07:44 M
-13 0d1a32dc275348589f5ecdc72180c018 Sat 2018-02-03 08:08:05 MST—Sat 2018-02-03 08:08:34 M
-12 74159b593f3a401589ee6bd78e31684b Sat 2018-02-03 08:08:51 MST—Sun 2018-02-04 08:32:09 M
-11 4b394a9aad584ab2bfabe3b77eeed78f Sun 2018-02-04 08:32:26 MST—Mon 2018-02-05 16:54:02 M
-10 8e461ed2593c4fd896ca3b71eb3c0fba Mon 2018-02-05 16:54:34 MST—Tue 2018-02-06 03:54:30 M
-9 ec7ba0e4dfe241c0b9c978d278fcca6d Tue 2018-02-06 03:54:47 MST—Tue 2018-02-06 16:25:02 M
-8 b5c110267c214c38b63d0a367197d118 Tue 2018-02-06 16:25:19 MST—Thu 2018-02-08 16:49:03 M
-7 75c3b117ac6a4de984dc3ced15edb7f8 Thu 2018-02-08 16:49:22 MST—Fri 2018-02-09 03:51:09 M
-6 7338bd1007bc42dda5c8667eeefe1a59 Fri 2018-02-09 03:51:26 MST—Fri 2018-02-09 16:55:52 M
-5 4b6cd0121327454ca3db035c7ed42df6 Fri 2018-02-09 16:56:09 MST—Sat 2018-02-10 07:55:14 M
-4 0d56207f9ec0405ca3a3fd638334de2f Sat 2018-02-10 07:55:32 MST—Mon 2018-02-12 22:16:05 M
-3 0f230cc546fd4aec8f5233e0074ab3e1 Tue 2018-02-13 03:57:20 MST—Wed 2018-02-14 22:58:56 M
-2 c0d2c0141dd840cbab75d3c2254f8781 Wed 2018-02-14 22:59:13 MST—Sat 2018-02-17 22:46:14 M
-1 aafb2573a6374e019a7165cb8eee74a0 Sun 2018-02-18 06:02:03 MST—Mon 2018-02-19 04:16:36 M
0 8462f1969c6f4d61973e7e245014b846 Mon 2018-02-19 04:16:53 MST—Tue 2018-02-20 18:51:42 M
แสดงบันทึกการบูตล่าสุด
$ journalctl -b-1
-- Logs begin at Fri 2018-02-02 18:34:35 MST, end at Thu 2018-03-01 16:43:25 MST. --
Feb 28 20:03:15 alien systemd-journald[290]: Runtime journal (/run/log/journal/) is 8.0M,
Feb 28 20:03:15 alien kernel: Linux version 4.14.23-041423-generic (kernel@kathleen) (gcc
Feb 28 20:03:15 alien kernel: Command line: BOOT_IMAGE=/boot/vmlinuz-4.14.23-041423-generi
Feb 28 20:03:15 alien kernel: KERNEL supported cpus:
Feb 28 20:03:15 alien kernel: Intel GenuineIntel
Feb 28 20:03:15 alien kernel: AMD AuthenticAMD
Feb 28 20:03:15 alien kernel: Centaur CentaurHauls
Feb 28 20:03:15 alien kernel: x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point
Feb 28 20:03:15 alien kernel: x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'
Feb 28 20:03:15 alien kernel: x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'
Feb 28 20:03:15 alien kernel: x86/fpu: Supporting XSAVE feature 0x008: 'MPX bounds registe
Feb 28 20:03:15 alien kernel: x86/fpu: Supporting XSAVE feature 0x010: 'MPX CSR'
Feb 28 20:03:15 alien kernel: x86/fpu: xstate_offset[2]: 576, xstate_sizes[2]: 256
Feb 28 20:03:15 alien kernel: x86/fpu: xstate_offset[3]: 832, xstate_sizes[3]: 64
Feb 28 20:03:15 alien kernel: x86/fpu: xstate_offset[4]: 896, xstate_sizes[4]: 64
Feb 28 20:03:15 alien kernel: x86/fpu: Enabled xstate features 0x1f, context size is 960 b
Feb 28 20:03:15 alien kernel: e820: BIOS-provided physical RAM map:
Feb 28 20:03:15 alien kernel: BIOS-e820: [mem 0x0000000000000000-0x0000000000057fff] usabl
lines 1-19
ให้ความสนใจกับพารามิเตอร์-b-1
ซึ่งแตกต่างจากการอ้างอิงอื่น ๆ ที่คุณอาจเห็น จากหน้าคน :
-b [ID][±offset], --boot=[ID][±offset]
แสดงข้อความจากการบู๊ตเฉพาะ สิ่งนี้จะเพิ่มการจับคู่สำหรับ "_BOOT_ID ="
อาร์กิวเมนต์อาจว่างเปล่าซึ่งในกรณีนี้บันทึกสำหรับการบู๊ตปัจจุบันจะปรากฏขึ้น
หากไม่ระบุ ID การบู๊ตการชดเชยในเชิงบวกจะค้นหาการบู๊ตเริ่มต้นจากจุดเริ่มต้นของเจอร์นัลและการชดเชยออฟเซ็ตเท่ากับหรือน้อยกว่าศูนย์จะค้นหาการบู๊ตเริ่มต้นจากจุดสิ้นสุดของเจอร์นัล ดังนั้น 1 หมายถึงการบูตครั้งแรกที่พบในวารสารตามลำดับเวลา 2 ครั้งที่สองเป็นต้น ในขณะที่ -0 คือการบูตครั้งสุดท้าย -1 การบูตก่อนหน้านี้และอื่น ๆ ออฟเซ็ตเปล่าเทียบเท่ากับการระบุ -0 ยกเว้นเมื่อการบู๊ตปัจจุบันไม่ใช่การบู๊ตครั้งสุดท้าย (เช่นเนื่องจาก - ไดเรกทอรีถูกระบุเพื่อดูล็อกจากเครื่องอื่น)
จากนั้นทุกครั้งเป็นครั้งคราวด้วยcron
หรือตัวจับเวลาคุณสามารถล้างบันทึกเก่า :
journalctl --vacuum-time=2d # keep last two days or
journalctl --vacuum-size=300M # keep last 300MB
systemctl restart systemd-journald
killall -USR1 systemd-journald
นอกจากนี้ยัง uncomment จากStorage=auto
/etc/systemd/journald.conf