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 วิธีการกำจัดหลัง?