Mongo docsบอกว่าฉันทำได้:
- ใช้สัญญาณ -SIGUSR1 และรับบันทึกการเปลี่ยนชื่อเก่าและสวิตช์ปัจจุบัน
- ใช้ logrotate จากระบบปฏิบัติการ
ฉันต้องการความสามารถในการ logrotate ของระบบปฏิบัติการที่จะ zip ไฟล์เก่าและลบเก่าที่สุด แต่ไม่เห็นวิธีที่จะบอกกระบวนการ mongod เพื่อเปลี่ยนบันทึกปัจจุบันนอกเหนือจากการส่ง SIGUSR1
ดังนั้นฉันจึงเขียน
/var/log/mongodb/*.log {
daily
rotate 5
compress
dateext
missingok
notifempty
sharedscripts
postrotate
/usr/bin/killall -SIGUSR1 mongod
/usr/bin/killall -SIGUSR1 mongos
endscript
}
ถึง /etc/logrotate.d/mongo
และตอนนี้รับ logfiles ที่มีชื่อดีจาก logrotate และ logfiles ว่างเปล่าเช่นmongodb.log.2013-09-18T23-49-44
ร่องรอยของการสลับ SIGUSR1 วิธีการกำจัดหลัง?