หน้าคนlogrotate
พูดว่า:
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.
ฉันสับสนกับสิ่งนี้ หากโปรแกรมไม่สามารถบอกว่าจะปิด logfile ของมันก็จะยังคงที่จะเขียนตลอดไปไม่ได้สำหรับบางครั้ง หากการบีบอัดถูกเลื่อนออกไปเป็นรอบการหมุนรอบถัดไปโปรแกรมจะยังคงเขียนไปยังไฟล์นั้นแม้หลังจากรอบการหมุนรอบถัดไป การเลื่อนการแก้ไขปัญหาเป็นอย่างไร
ความเข้าใจของฉันคือสิ่งที่copytruncate
ควรใช้เมื่อโปรแกรมไม่สามารถบอกให้ปิดล็อกไฟล์ ฉันทราบว่าข้อมูลบางอย่างที่เขียนไปยังล็อกไฟล์หายไปเมื่อกำลังดำเนินการคัดลอก
ฉันดูไฟล์ logrotate เพื่อหา couchdb และมีทั้งตัวเลือกcopytruncate
และdelaycompress
ตัวเลือก
/usr/local/couchdb-1.0.1/var/log/couchdb/*.log {
weekly
rotate 10
copytruncate
delaycompress
compress
notifempty
missingok
}
ดูเหมือนว่าไม่มีจุดใช้delaycompress
เมื่อcopytruncate
อยู่ที่นั่นแล้ว ฉันพลาดอะไรไป
copytruncate
ไม่จำเป็นต้องบอกโปรแกรมให้ปิดไฟล์ logfile ดังนั้นมันไม่มีความหมายที่จะระบุdelaycompress
พร้อมกับcopytruncate
?