ผ่านบรรทัดคำสั่งฉันมีไฟล์บันทึกที่ฉันต้องการติดตาม
สิ่งที่ฉันต้องการคือโดยทั่วไปแล้วจะเป็นการtailรีเฟรชเมื่อมีการอัปเดตบันทึกทำให้ข้อความเลื่อนขึ้นด้านบนเนื่องจากบรรทัดใหม่ถูกผนวกเข้ากับไฟล์บันทึก
มีอะไรออกมาบ้างที่ทำได้โดยไม่ต้องเขียนโค้ด?
ผ่านบรรทัดคำสั่งฉันมีไฟล์บันทึกที่ฉันต้องการติดตาม
สิ่งที่ฉันต้องการคือโดยทั่วไปแล้วจะเป็นการtailรีเฟรชเมื่อมีการอัปเดตบันทึกทำให้ข้อความเลื่อนขึ้นด้านบนเนื่องจากบรรทัดใหม่ถูกผนวกเข้ากับไฟล์บันทึก
มีอะไรออกมาบ้างที่ทำได้โดยไม่ต้องเขียนโค้ด?
คำตอบ:
tailมี-fตัวเลือก:
จากmanหน้า:
-f, --follow [= {name | descriptor}] เอาต์พุตต่อท้ายข้อมูลเมื่อไฟล์เติบโตขึ้น -f, --follow และ --follow = descriptor เทียบเท่ากัน
ดังนั้นหากคุณพิมพ์:
tail -f [path_and_name_of_logfile] - คุณจะเห็นผลลัพธ์ในเทอร์มินัลเมื่อไฟล์บันทึกนั้นถูกผนวกเข้ากับ
NB [path_and_name_of_logfile]เป็นพารามิเตอร์ดังนั้นเพื่อให้ตัวอย่าง:
tail -f /var/log/messages
หากคุณรวมกับ-n [number_of_lines]ตัวเลือกคุณสามารถเริ่มต้นผลลัพธ์จาก [number_of_lines] สุดท้ายในไฟล์ - ตัวอย่างเช่น
tail -n 10 -f /var/log/Xorg.0.log

บางโปรแกรมจะเปลี่ยนไฟล์บันทึกเป็นระยะย้ายไฟล์เก่าเป็นชื่อใหม่ (เช่น log.0) และเริ่มใหม่
NB logrotate ใช้เพื่อบันทึกไฟล์สำหรับโปรแกรมอื่นที่ไม่ได้ทำเอง
tail -f จะยังคงติดตามไฟล์เก่าหลังจากเปลี่ยนชื่อ
tail -F จะติดตามไฟล์ตามชื่อดังนั้นจะเปลี่ยนไปตามไฟล์ใหม่
ในขณะที่ tailจะเป็นวิธีปกติในการทำสิ่งนี้ แต่ก็ควรสังเกตว่าlessมีคุณสมบัติเดียวกันและบางครั้งก็มีประโยชน์มากกว่า
หากคุณเปิดไฟล์ด้วยlessคุณสามารถกดShift+ Fเพื่อให้มันติดตามไฟล์ (เช่นมันจะแสดงบรรทัดใหม่เช่นเดียวกับที่tail -fทำ) คุณสามารถออกจากโหมดนี้ด้วยCtrl +C
นอกจากนี้คุณยังสามารถเริ่มต้นlessด้วย+Fตัวเลือกซึ่งในกรณีนี้มันจะเริ่มในโหมดนั้น โดยทั่วไปการพูด+สามารถใช้เพื่อให้ "คำสั่งแป้นพิมพ์" lessซึ่งจะดำเนินการเมื่อเริ่มต้น
การใช้lessสิ่งนี้มีข้อดีที่คุณสามารถค้นหาไฟล์หรือดูพื้นที่อื่น ๆ ได้หากต้องการ ฉันทำแบบนั้นกับไฟล์บันทึกบ่อยๆ
ทำ
tail -f something.log
ทำในสิ่งที่คุณต้องการ?
tail มีการนำไปใช้งานสองแบบเพื่อติดตามและส่งออกข้อมูลที่ผนวกเข้ากับไฟล์
ด้วยพารามิเตอร์-f, --followและ--follow=descriptor,tailต่อไปนี้อธิบายไฟล์ เมธอดนี้อนุญาตให้ไฟล์ถูกติดตามข้ามการเปลี่ยนชื่อ แต่การติดตามจะหยุดลงเมื่อไฟล์ถูกหมุน
เมื่อทำตามไฟล์ที่มีการหมุนทั้งการใช้งาน--follow=nameหรือพารามิเตอร์ซึ่งเท่ากับ-F --follow=name --retryด้วยวิธีtailนี้จะเปิดไฟล์เป็นระยะเพื่อเอาชนะการหมุนที่เป็นไปได้
ฉันคิดว่าcczeเป็นเครื่องมือที่เหมาะสมสำหรับคุณ
มันทำสีเดียวกัน คุณสามารถดูบันทึกการเลื่อนลง แต่จะง่ายต่อการอ่านเพราะบรรทัดถูกพิมพ์ด้วยสี (ข้อผิดพลาดในสีแดงและอื่น ๆ ) คุณสามารถลองใช้งานด้วยสิ่งนี้:
tail -f /var/log/syslog | ccze