ดูเฉพาะรายการใหม่ในไฟล์บันทึกที่กำลังเติบโต


20
tail -f x.log

ฉันใช้คำสั่งนี้เพื่อดูล็อกไฟล์ที่กำลังเติบโตในพรอมต์คำสั่ง

ฉันกำลังสนใจเฉพาะในการมองเห็นเส้นบันทึกที่เขียนไปยังแฟ้มหลังจากทำงานและไม่สนใจในการบันทึกที่ถูกเขียนไปยังแฟ้มก่อนที่จะทำtail -f tail -fแต่tail -fคำสั่งในการเริ่มต้นใช้เวลา 10 บรรทัดสุดท้ายและแสดงมัน

นี้ทำให้ฉันสับสนในบางครั้งถ้าบันทึกเหล่านี้จะถูกสร้างขึ้นใหม่ (หรือ) พวกเขาเป็นบันทึกเก่า?

ดังนั้นฉันจะปรับแต่ง tail -f เพื่อส่งออกเฉพาะรายการใหม่ได้อย่างไร

logs  tail 

คำตอบ:


31

คุณสามารถลอง:

tail -n0 -f x.log

จากหน้าคน :

-n, --lines = K
เอาท์พุท K บรรทัดสุดท้ายแทน 10 อันสุดท้าย; หรือใช้ -n + K เพื่อเอาต์พุตบรรทัดที่เริ่มต้นด้วย Kth



2

คุณยังสามารถใช้lessคำสั่งเช่น

  1. less file_name.log (ไฟล์บันทึกจะถูกเปิดและจะแสดงหน้าแรกของไฟล์บันทึก)
  2. กดshift+ f(เพื่อทำหน้าที่เหมือนกับหาง -f)
  3. ในกรณีที่คุณต้องการค้นหาคำสำคัญในล็อกไฟล์ กดctrl+ cเพื่อออกจากโหมดหางและค้นหาคำหลักเป็น/คำหลักและ?คำหลัก

สิ่งนี้ไม่ได้ดูเฉพาะรายการใหม่ในไฟล์บันทึกที่กำลังเติบโต
Spooky

0

ฉันได้สร้างวิธีการนี้เมื่อฉันต้องตรวจสอบรายการภายใน container docker:

LOG_COUNT=0
LOGS=/var/logs/your_logs

function HEART_BEAT() {
    LOG_COUNT_NEW=$(wc -l $LOGS | awk '{ print $1 }')
    tail -n $(( $LOG_COUNT_NEW - $LOG_COUNT )) $LOGS
    LOG_COUNT=$LOG_COUNT_NEW
}

หวังว่านี่จะช่วยได้!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.