4 วิธีในการดูหรือตรวจสอบไฟล์บันทึกแบบเรียลไทม์
ฉันจะดูเนื้อหาของไฟล์บันทึกแบบเรียลไทม์ใน Linux ได้อย่างไร มียูทิลิตี้มากมายที่สามารถช่วยให้ผู้ใช้ส่งออกเนื้อหาของไฟล์ในขณะที่ไฟล์กำลังเปลี่ยนแปลงหรืออัปเดตอย่างต่อเนื่อง ยูทิลิตี้บางตัวที่เป็นที่รู้จักและใช้กันอย่างแพร่หลายในการแสดงเนื้อหาไฟล์แบบเรียลไทม์ใน Linux คือคำสั่ง tail (จัดการไฟล์อย่างมีประสิทธิภาพ)
อ่านเพิ่มเติม: 4 เครื่องมือตรวจสอบและจัดการบันทึกโอเพ่นซอร์สที่ดีสำหรับ Linux
1. คำสั่ง tail – ตรวจสอบบันทึกแบบเรียลไทม์
ดังที่ได้กล่าวไปแล้ว คำสั่ง tail เป็นวิธีการแก้ปัญหาที่พบบ่อยที่สุดในการแสดงไฟล์บันทึกแบบเรียลไทม์ อย่างไรก็ตาม คำสั่งให้แสดงไฟล์มีสองเวอร์ชัน ดังแสดงในตัวอย่างด้านล่าง
ในตัวอย่างแรก คำสั่ง tail จำเป็นต้องมีอาร์กิวเมนต์ -f
เพื่อติดตามเนื้อหาของไฟล์
sudo tail -f /var/log/apache2/access.log
เวอร์ชันที่สองของคำสั่งจริงๆ แล้วเป็นคำสั่ง: tailf คุณไม่จำเป็นต้องใช้สวิตช์ -f
เนื่องจากคำสั่งนี้มีอาร์กิวเมนต์ -f
ในตัว
sudo tailf /var/log/apache2/access.log
โดยปกติแล้ว ไฟล์บันทึกจะถูกหมุนเวียนบ่อยครั้งบนเซิร์ฟเวอร์ Linux โดยยูทิลิตี้ logrotate หากต้องการดูไฟล์บันทึกที่มีการหมุนเวียนรายวัน คุณสามารถใช้แฟล็ก -F
เพื่อ คำสั่ง tail
อ่านเพิ่มเติม: วิธีจัดการบันทึกของระบบ (กำหนดค่า หมุนเวียน และนำเข้าสู่ฐานข้อมูล) ใน Linux
tail -F
จะติดตามว่ามีการสร้างไฟล์บันทึกใหม่หรือไม่ และจะเริ่มติดตามไฟล์ใหม่แทนที่จะเป็นไฟล์เก่า
sudo tail -F /var/log/apache2/access.log
อย่างไรก็ตาม ตามค่าเริ่มต้น คำสั่ง tail จะแสดงบรรทัด 10 สุดท้ายของไฟล์ ตัวอย่างเช่น หากคุณต้องการดูไฟล์บันทึกสองบรรทัดสุดท้ายแบบเรียลไทม์ ให้ใช้ไฟล์ -n
รวมกับแฟล็ก -f
ดังที่แสดงใน ตัวอย่างด้านล่าง
sudo tail -n2 -f /var/log/apache2/access.log
2. คำสั่ง Multitail – ตรวจสอบไฟล์บันทึกหลายไฟล์แบบเรียลไทม์
คำสั่งที่น่าสนใจอีกประการหนึ่งในการแสดงไฟล์บันทึกแบบเรียลไทม์คือคำสั่งแบบมัลติเทล ชื่อของคำสั่งบอกเป็นนัยว่า ยูทิลิตี้ multitail สามารถตรวจสอบและติดตามไฟล์หลายไฟล์ในแบบเรียลไทม์ Multitail ยังช่วยให้คุณนำทางไปมาในไฟล์ที่ถูกตรวจสอบได้
หากต้องการติดตั้ง ยูทิลิตี้ mulitail ในระบบที่ใช้ Debian และ RedHat ให้ออกคำสั่งด้านล่างนี้
sudo apt install multitail [On Debian & Ubuntu]
sudo yum install multitail [On RedHat & CentOS]
sudo dnf install multitail [On Fedora 22+ version]
หากต้องการแสดงเอาต์พุตของไฟล์บันทึกสองไฟล์พร้อมกัน ให้ดำเนินการคำสั่งตามที่แสดงในตัวอย่างด้านล่าง
sudo multitail /var/log/apache2/access.log /var/log/apache2/error.log
3. คำสั่ง lnav – ตรวจสอบไฟล์บันทึกหลายไฟล์แบบเรียลไทม์
คำสั่งที่น่าสนใจอีกคำสั่งหนึ่ง ซึ่งคล้ายกับ คำสั่ง multitail ก็คือคำสั่ง lnav ยูทิลิตี้ Lnav ยังสามารถรับชมและติดตามไฟล์หลายไฟล์และแสดงเนื้อหาแบบเรียลไทม์
ในการติดตั้งยูทิลิตี้ lnav ในการกระจาย Linux ที่ใช้ Debian และ RedHat โดยการออกคำสั่งด้านล่าง
sudo apt install lnav [On Debian & Ubuntu]
sudo yum install lnav [On RedHat & CentOS]
sudo dnf install lnav [On Fedora 22+ version]
ดูเนื้อหาของไฟล์บันทึกสองไฟล์พร้อมกันโดยออกคำสั่งดังแสดงในตัวอย่างด้านล่าง
sudo lnav /var/log/apache2/access.log /var/log/apache2/error.log
4. คำสั่งน้อยลง - แสดงเอาต์พุตแบบเรียลไทม์ของไฟล์บันทึก
สุดท้ายนี้ คุณสามารถแสดงเอาต์พุตสดของไฟล์โดยใช้คำสั่งน้อยกว่าได้หากคุณพิมพ์ Shift+F
เช่นเดียวกับ tail utility การกด Shift+F
ในไฟล์ที่เปิดด้วย less จะเริ่มต่อท้ายไฟล์ หรือคุณสามารถเริ่มต้นน้อยลงโดยตั้งค่าสถานะ +F
น้อยลงเพื่อเข้าสู่การรับชมไฟล์แบบสด
sudo less +F /var/log/apache2/access.log
แค่นั้นแหละ! คุณสามารถอ่านบทความต่อไปนี้เกี่ยวกับการตรวจสอบและการจัดการบันทึก
- จัดการไฟล์อย่างมีประสิทธิภาพโดยใช้คำสั่ง head, tail และ cat ใน Linux
- วิธีการตั้งค่าและจัดการการหมุนบันทึกโดยใช้ Logrotate ใน Linux
- Petiti – เครื่องมือวิเคราะห์บันทึกโอเพ่นซอร์สสำหรับ Linux SysAdmins
- วิธีค้นหาบันทึกการตรวจสอบโดยใช้เครื่องมือ 'ausearch' บน CentOS/RHEL
- จัดการข้อความบันทึกภายใต้ Systemd โดยใช้ Journalctl [คู่มือที่ครอบคลุม]
ในบทความนี้ เราได้แสดงวิธีดูข้อมูลที่ถูกผนวกในไฟล์บันทึกแบบเรียลไทม์บนเทอร์มินัลใน Linux คุณสามารถถามคำถามหรือแบ่งปันความคิดของคุณเกี่ยวกับคำแนะนำนี้ผ่านแบบฟอร์มความคิดเห็นด้านล่าง