เหตุใดไฟล์บันทึกที่สองใน / var / log จึงไม่ถูกบีบอัด


12

บันทึกบน/var/log/(Debian / Ubuntu) จะถูกเก็บไว้เป็น

x.log
x.log.1
x.log.2.gz
...

เช่นบันทึกเคอร์เนล syslogs ฯลฯ

ฉันเห็นว่าเมื่อบันทึกข้อมูลเพิ่มขึ้นพวกเขาจะถูกจัดเก็บโดยแยกเป็นไฟล์เล็ก ๆ (แทนที่จะเก็บไว้ในไฟล์เดียว) ฉันสงสัยว่าทำไมไฟล์ที่สอง ( x.log.1) ไม่ถูกบีบอัด มันเป็นเรื่องเกี่ยวกับการเข้าถึงบันทึกล่าสุดได้ง่ายขึ้นหรือไม่?

คำตอบ:


12

ฉันเห็นด้วยกับคุณที่ควรให้การเข้าถึงไฟล์ล่าสุดได้ง่ายขึ้น อย่างไรก็ตามพฤติกรรมที่เกิดขึ้นจริงจะถูกตัดสินผ่านคำสั่ง 'ล่าช้าคอมเพรส' ของ logrotate ซึ่งระบุว่า 'อย่าบีบอัดไฟล์เมื่อคุณหมุน แต่จะบีบอัดไฟล์ในครั้งต่อไป'

เหตุผลทางประวัติศาสตร์สามารถพบได้ในคู่มือการใช้งาน logrotate:

Postpone  compression of the previous log file to the next rotation 
cycle.  This has only effect when used in combination  with compress. 
It can be used when some program can not be told to close its logfile and 
thus might continue writing to the  previous log file for some time.

1
"(... ) เมื่อบางโปรแกรมไม่สามารถบอกให้ปิดล็อกไฟล์ทันทีและ (... )" พบความแม่นยำนี้ในการโพสต์บนเซิร์ฟเวอร์ผิดพลาด
Ludovic Kuty

5

ใช่จะทำเช่นนี้เพื่อให้สามารถเข้าถึงไฟล์บันทึกล่าสุดได้ง่ายขึ้น ตัวเลือก logrotate delaycompressควบคุมสิ่งนี้ จาก manrot logrotate:

delaycompress

Postpone compression of the previous log file to the next rotation cycle.  
This only has effect when used in combination with
compress.  It can be  used  when  some  program
cannot be told to close its logfile and thus might 
continue writing to the previous log file for some time.

4
ตัวเลือกเหล่านี้จะถูกนำมาใช้ในไฟล์ที่อยู่ภายใต้และ/etc/logrotate.conf /etc/logrotate.d/*
slm
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.