Cắt log trong Mongodb

Mongod có tính năng tự động cắt log sử dụng command logRotate (db.runCommand("logRotate")), ở bản mongo 10gen đã loại bỏ cái scipt tự động cắt log, ta phải làm thuần bằng tay, vì vậy tôi sử dụng logrotate có sẵn trong Linux để cắt, gzip lại, cơ chế cắt log như nginx, apache...

- Tạo file /etc/logrotate.d/mongod với nội dung sau

/var/log/mongo/mongod.log {
        daily
        rotate 30
        compress
        dateext
 
    missingok
    notifempty
    sharedscripts
    postrotate
        /bin/kill -SIGUSR1 `cat /var/lib/mongo/mongod.lock 2> /dev/null` 2> /dev/null || true
    endscript
}
 Mặc định logrotate daily làm việc lúc 4h sáng (xem tại /etc/cron.daily/logrotate)

Leave a Reply