พื้นที่ดิสก์บน Linux หมดหรือยัง? ตรวจสอบบันทึกของคุณ!
ลิงค์ด่วน
⭐ เหตุใดบันทึกจึงกินพื้นที่ดิสก์มาก
⭐ค้นหาบันทึกของคุณ
⭐ Linux หมุนไฟล์บันทึกอย่างไร
⭐ บันทึกใดที่ปลอดภัยที่จะลบ?
⭐ วิธีแก้ไขสิ่งที่เติมเต็มบันทึกของคุณ
ประเด็นที่สำคัญ
เป็นที่ทราบกันว่าระบบปฏิบัติการ Linux สร้างข้อมูลบันทึกจำนวนมาก ซึ่งอาจใช้พื้นที่จัดเก็บข้อมูลบนฮาร์ดไดรฟ์หรือโซลิดสเตตไดรฟ์จำนวนมาก
โดยทั่วไปกลไกของระบบของคุณจะใช้วิธีการบีบอัดบันทึกที่เก็บไว้เพื่อประหยัดพื้นที่จัดเก็บข้อมูลบนอุปกรณ์ของคุณ
การใช้คำสั่ง journalctl
หรือ tail-f
ช่วยให้สามารถอ่านรายการบันทึกและระบุกระบวนการที่อาจก่อกวน ทำให้สามารถแก้ไขปัญหาและแก้ไขปัญหาได้อย่างมีประสิทธิภาพ
แม้ว่าระบบ Linux จะมองว่ามีขนาดเล็กและมีประสิทธิภาพ แต่บางครั้งผู้ใช้อาจพบกรณีที่พื้นที่เก็บข้อมูลว่างหมดในอัตราที่ไม่คาดคิด การระบุสาเหตุที่แท้จริงของเหตุการณ์ดังกล่าวเป็นสิ่งสำคัญโดยการตรวจสอบไฟล์บันทึกของระบบ บันทึกเหล่านี้สามารถให้ข้อมูลเชิงลึกอันมีค่าเกี่ยวกับสาเหตุที่อาจเกิดขึ้นและให้คำแนะนำเกี่ยวกับวิธีการแก้ไขปัญหาเหล่านี้อย่างมีประสิทธิภาพ
เหตุใดบันทึกจึงใช้พื้นที่ดิสก์มาก
ไฟล์บันทึกมีบทบาทสำคัญในการบำรุงรักษาระบบ Linux โดยการให้ข้อมูลเชิงลึกเกี่ยวกับการดำเนินงานและทำให้สามารถแก้ไขปัญหาใดๆ ที่พบได้ เช่นเดียวกับ Event Viewer บน Windows daemons การบันทึกของ Linux เสนอวิธีการในการตรวจสอบกิจกรรมของระบบและวินิจฉัยปัญหา เป็นที่น่าสังเกตว่าโดยทั่วไปแล้วไฟล์บันทึกจะไม่ใช้พื้นที่จัดเก็บข้อมูลจำนวนมาก เนื่องจากการแจกแจงส่วนใหญ่มีกลไกในการควบคุมการใช้งานดิสก์
ในอดีต ไฟล์บันทึกของ Linux โดยทั่วไปจะประกอบด้วยข้อมูลข้อความธรรมดา อย่างไรก็ตาม เนื่องจากการกระจายที่โดดเด่นจำนวนมากขึ้นได้เปลี่ยนไปสู่การใช้ systemd สำหรับการจัดการระบบปฏิบัติการ ไฟล์บันทึกเหล่านี้จึงมีอยู่ในรูปแบบไบนารี่และได้รับการดูแลโดย Journald ซึ่งเป็นบริการ systemd เอง ขึ้นอยู่กับการแจกจ่ายเฉพาะที่ใช้ rsyslog หรือ syslog-ng อาจถูกนำมาใช้เป็นวิธีอื่นในการจัดการข้อมูลบันทึกดังกล่าว
เพื่อรักษาความจุในการจัดเก็บข้อมูลบนฮาร์ดไดรฟ์ของคอมพิวเตอร์ ถือเป็นหลักปฏิบัติทั่วไปสำหรับระบบที่จะเก็บถาวรและลบไฟล์บันทึกที่ล้าสมัยซึ่งไม่เกี่ยวข้องหรือจำเป็นอีกต่อไป กระบวนการนี้เกี่ยวข้องกับการบีบอัดและการลบข้อมูลเก่าเพื่อให้มีที่ว่างสำหรับข้อมูลล่าสุดที่อาจมีความสำคัญมากขึ้น
มักสันนิษฐานว่าไฟล์บันทึกไม่ได้ใช้พื้นที่จัดเก็บข้อมูลที่สำคัญ อย่างไรก็ตาม การดำเนินการที่ผิดปกติสามารถสร้างรายการบันทึกในอัตราที่เกินความสามารถของระบบในการหมุนเวียนและจัดการรายการบันทึกได้อย่างมีประสิทธิภาพ
หากคุณพบว่าพื้นที่ว่างในดิสก์ของคุณลดลงอย่างไม่คาดคิด และคุณไม่สามารถระบุการดาวน์โหลดไฟล์ที่สำคัญใดๆ ที่เป็นแหล่งที่มาของปัญหานี้ได้ อาจเป็นไปได้ว่าการสะสมข้อมูลภายในบันทึกระบบ Linux ของคุณต้องรับผิดชอบ เพื่อแก้ไขสถานการณ์นี้ คุณจะต้องกำหนดเนื้อหาเฉพาะของบันทึกระบบของคุณซึ่งใช้พื้นที่จัดเก็บข้อมูลอันมีค่าและใช้มาตรการแก้ไขที่จำเป็น
คำสั่ง du
เมื่อเรียกใช้ด้วยตัวเลือก -h
เป็นวิธีที่มีประสิทธิภาพในการตรวจสอบจำนวนพื้นที่ดิสก์ที่ไฟล์และไดเร็กทอรีใช้อยู่ในปัจจุบันภายในไดเร็กทอรีที่ระบุหรือข้ามหลายไดเร็กทอรีในระบบของคุณ
du -h /var/log
คุณจะเห็นการแจงนับไดเรกทอรีย่อยทั้งหมด พร้อมด้วยความจุสะสมของไดเรกทอรีย่อย:
ค้นหาบันทึกของคุณ
การใช้การกระจาย Linux ร่วมสมัยที่ใช้ systemd จำเป็นต้องมียูทิลิตี JournalTL (journalt) สำหรับการตรวจสอบข้อมูลบันทึก ตำแหน่งที่เก็บข้อมูลของบันทึกเหล่านี้ขึ้นอยู่กับตัวแปรระบบปฏิบัติการเฉพาะ และอาจพบได้ในไดเร็กทอรี’/var/log/journal’หรือไดเร็กทอรี’/run/log/journal’ซึ่งทั้งสองอย่างนี้มักอยู่ภายใต้ วอลุ่มระบบไฟล์รูท
หากต้องการเข้าถึงไฟล์บันทึกโดยใช้เทอร์มินัล ให้ป้อน “journald” ในพร้อมท์คำสั่ง นอกจากนี้ยังมีทางเลือกบรรทัดคำสั่งที่สะดวกสบายหลายประการสำหรับวัตถุประสงค์เฉพาะ ตัวอย่างเช่น หากต้องการตรวจสอบข้อความเริ่มต้น ให้ใช้ตัวเลือก"-b":
journalctl -b
การใช้แฟล็ก -f
ช่วยให้ผู้ใช้สามารถอ่านข้อความที่บันทึกไว้ของระบบของตนได้แบบเรียลไทม์และเป็นปัจจุบัน
หากระบบปฏิบัติการของคุณใช้กลไกการเริ่มต้นที่แตกต่างจาก systemd ไฟล์บันทึกจะอยู่ภายในไดเร็กทอรี/var/log ในทางกลับกัน แม้ว่าจะใช้ systemd แอปพลิเคชันบางตัวอาจยังคงเก็บข้อมูลบันทึกไว้ภายในโฟลเดอร์นี้ ไฟล์บันทึกเป็นเอกสารข้อความที่ไม่มีการตกแต่ง และสามารถอ่านได้โดยใช้เครื่องมือแบ่งหน้าแบบธรรมดา เช่น"น้อยกว่า"
ตัวอย่างเช่น หากต้องการอ่านบันทึกของระบบ:
less /var/log/syslog
ข้อมูลทั้งหมดภายในไฟล์บันทึก ซึ่งประกอบด้วยบรรทัดจำนวนมากซึ่งอาจมีจำนวนถึงหลักพัน จะแสดงเพื่อให้คุณพิจารณา
นอกจากนี้ยังอาจสังเกตความคืบหน้าของมันผ่านการใช้ตัวดัดแปลง “-f” ของคำสั่ง tail โดยการรันคำสั่งที่เหมาะสมบนเทอร์มินัลหรือพรอมต์คำสั่ง
tail -f /var/log/syslog
Linux หมุนไฟล์บันทึกอย่างไร
การมีอยู่ของไฟล์ภายในไดเร็กทอรี/var/log ที่มีป้ายกำกับที่ลงท้ายด้วย"log.N.gz"โดยที่ N แทนค่าทางคณิตศาสตร์ บ่งบอกถึงการทำงานของกลไกของระบบในการเก็บถาวรบันทึกที่ล้าสมัย โดยทั่วไปแล้วระบบปฏิบัติการส่วนใหญ่จะมีแอปพลิเคชันซอฟต์แวร์ที่เรียกว่า"logrotate"ซึ่งทำหน้าที่นี้โดยอัตโนมัติ Logrotate สามารถกำหนดค่าให้ดำเนินการเป็นงานที่กำหนดเวลาไว้ซึ่งเริ่มต้นโดย cron daemon หรือทริกเกอร์โดยใช้ตัวจับเวลา systemd
โดยทั่วไป Logrotate จะถูกเปิดใช้งานในการกระจายส่วนใหญ่ในแต่ละวัน โดยมีฟังก์ชันหลักในการบีบอัดไฟล์บันทึกที่เก็บถาวรผ่านการใช้เทคโนโลยี gzip ซึ่งสามารถระบุได้ด้วยการมีนามสกุลไฟล์ “.gz” ที่ต่อท้ายไฟล์บีบอัด Logrotate ใช้เกณฑ์เฉพาะ เช่น อายุหรือขนาดไฟล์ เพื่อพิจารณาว่าควรบีบอัดเมื่อใด ขณะเดียวกันก็ใช้เกณฑ์เพิ่มเติมสำหรับการล้างไฟล์บันทึกที่ล้าสมัยออกจากระบบ
การตั้งค่ามาตรฐานของ logrotate น่าจะเพียงพอสำหรับผู้ใช้เดสก์ท็อปส่วนใหญ่ อย่างไรก็ตาม ผู้ที่ต้องการปรับการทำงานของมันอาจทำได้โดยการเปลี่ยนแปลงไฟล์การกำหนดค่าที่ /etc/logrotate.conf
ในด้านความสามารถในการกำกับดูแล นอกจากนี้ เราต้องพิจารณาแก้ไขการกำหนดเวลา cron ของระบบหรือการกำหนดค่าตัวจับเวลา systemd ซึ่งโดยทั่วไปจะอยู่ในขอบเขตอำนาจของผู้ดูแลระบบเซิร์ฟเวอร์
คุณดีกว่าที่จะแก้ไขสิ่งที่เติมเต็มบันทึกของคุณมากกว่าปรับแต่งไฟล์การกำหนดค่าเพื่อประหยัดพื้นที่ดิสก์ หากคุณต้องเปลี่ยนการกำหนดค่าโดยเด็ดขาด คุณสามารถอ่าน หน้าคู่มือ logrotate
บันทึกใดที่ปลอดภัยที่จะลบ?
ในกรณีที่จำเป็นต้องดึงพื้นที่จัดเก็บเพิ่มเติมและขั้นตอนมาตรฐานหมดลง เราอาจพิจารณากำจัดไฟล์บันทึกที่บีบอัดด้วย gzip ซึ่งแสดงด้วยนามสกุลไฟล์ “.gz” อย่างไรก็ตาม เนื่องจากเอกสารเหล่านี้เกี่ยวข้องกับการทำงานของระบบ จึงจำเป็นต้องกำจัดทิ้งภายใต้อำนาจของผู้ใช้ที่มีสิทธิ์ คำสั่ง “rm” สามารถใช้เพื่อจุดประสงค์นี้ได้ โดยต้องใช้สิทธิ์ผู้ดูแลระบบจึงจะดำเนินการได้อย่างมีประสิทธิภาพ
sudo rm /var/syslog/syslog.*gz
คำสั่งนี้จะกำจัดไฟล์ทั้งหมดที่มี “syslog” อยู่ในชื่อและลงท้ายด้วย “.gz”
เมื่อใช้คำสั่ง sudo
เพื่อดำเนินการที่อาจเป็นอันตรายหรือทำลายล้าง เช่น การลบไฟล์ด้วย rm
สิ่งสำคัญอย่างยิ่งคือต้องใช้ความระมัดระวังและความอุตสาหะอย่างที่สุด เพื่อหลีกเลี่ยงผลที่ตามมาโดยไม่ตั้งใจซึ่งอาจเป็นผลมาจากการใช้งานที่ไม่เหมาะสม
โดยทั่วไปขอแนะนำว่าอย่าลบไฟล์ออกจากไดเร็กทอรีระบบโดยไม่เข้าใจถึงผลที่ตามมาอย่างถ่องแท้ แต่การลบไฟล์บันทึกที่เก็บถาวรไม่ควรส่งผลให้เกิดปัญหาใดๆ ตราบใดที่ไฟล์เหล่านั้นหายไป อย่างไรก็ตาม หากมีปัญหาเกิดขึ้น การเรียกข้อมูลจากบันทึกบันทึกก่อนหน้าอาจจำเป็นสำหรับวัตถุประสงค์ในการแก้ไขปัญหา
วิธีแก้ไขสิ่งที่กรอกบันทึกของคุณ
วิธีหนึ่งที่มีประสิทธิภาพในการพิจารณาเนื้อหาของไฟล์บันทึกคือการใช้คำสั่งjournalctlหรือtail-f โดยเน้นที่ข้อความแสดงข้อผิดพลาดที่เกิดซ้ำซึ่งอาจปรากฏขึ้นภายในไฟล์เหล่านั้น
เพื่อบรรเทาปัญหาพื้นที่ดิสก์ไม่เพียงพอ จำเป็นต้องระบุและยุติกระบวนการผิดพลาดที่รับผิดชอบในการใช้พื้นที่จัดเก็บข้อมูล ในกรณีที่สาเหตุของปัญหายังไม่ชัดเจน การปรึกษาแหล่งข้อมูลออนไลน์หรือการขอความช่วยเหลือจากช่องทางการสนับสนุนของระบบปฏิบัติการของคุณอาจเป็นประโยชน์ เมื่อแก้ไขสาเหตุที่แท้จริงแล้ว การกำจัดไฟล์บันทึกที่ล้าสมัยจะทำให้พื้นที่จัดเก็บข้อมูลเพิ่มขึ้นโดยไม่มีความเสี่ยง ด้วยการแก้ไขนี้ เราควรจะพบพื้นที่ว่างในดิสก์เพิ่มขึ้นอย่างเห็นได้ชัด