温馨提示×

mongodb日志清理centos方法

小樊
66
2025-09-07 17:56:40
栏目: 云计算

在CentOS上清理MongoDB日志主要有以下两种方法:

一、使用logrotate工具(推荐)

  1. 安装logrotate
    sudo yum install logrotate  
    
  2. 创建配置文件
    /etc/logrotate.d/下新建mongodb文件,内容示例:
    /var/log/mongodb/mongod.log {  
        daily  
        rotate 7  
        compress  
        notifempty  
        create 640 mongodb mongodb  
        postrotate  
            if [ -f /var/run/mongodb.pid ]; then  
                kill -SIGUSR1 $(cat /var/run/mongodb.pid)  
            fi  
        endscript  
    }  
    
    • daily:每日轮转;rotate 7:保留7天日志;compress:压缩旧日志。
  3. 测试并启用
    sudo logrotate -d /etc/logrotate.d/mongodb  # 测试配置  
    sudo logrotate -f /etc/logrotate.d/mongodb  # 强制执行  
    

二、手动清理

  1. 手动切割日志
    通过MongoDB命令触发日志轮转:
    mongo --quiet --eval "db.adminCommand({logRotate: 1})"  
    
  2. 删除旧日志
    使用find命令删除指定天数前的日志(如删除30天前的日志):
    find /var/log/mongodb/ -name "mongod.log.*" -mtime +30 -exec rm {} \;  
    

注意

  • 确保配置文件中路径与实际日志路径一致(可通过cat /etc/mongod.conf查看systemLog.path)。
  • 手动清理前建议先通过logrotate测试配置,避免误删。

0