• MongoDB集群日志轮转切割


    日志文件查看

               

     MongoDB自带机制

                这样会使mongo关闭当前日志文件,重启一个新的日志文件,不需要停止mongodb服务

                

                这种方式简单,但是不够灵活

                2.向进程发送 SIGUSR1 信号来切割日志

                 

     定时任务轮转日志

                      

    #!/bin/sh
    
    logfile=/var/log/mongodb  #Mongodb日志存放目录
    days=7 #代表删除7天前的备份,即只保留最近7天的备份
    /bin/kill -SIGUSR1 `cat /data/tianyiyun/mongod/mongos/log/mongos.pid` #切割日志
    find $logfile/ -mtime +$days -delete #删除7天前的备份文件
                                                            
    cut_mongodb_log.sh    
    #!/bin/sh
    
    MONGO_CMD=/usr/local/mongodb/bin/mongo
    KEEP_DAY=7
    
    #flush mongod log
    datadir=/data/mongodb
    port=27017
    role=mongod
    destdir=/data/backup/mongolog/${role}
    if [ ! ‐d "${destdir}" ]; then
      mkdir ‐p ${destdir}
    fi
    $MONGO_CMD ‐‐authenticationDatabase admin admin ‐ubackup ‐p"*****" ‐‐eval
    "db.runCommand({logRotate:1})" ‐‐port $port
    mv ${datadir}/mongod.log.????‐??‐??T??‐??‐?? ${destdir}/
    find $destdir ‐name "mongod.log.*" ‐mtime +${KEEP_DAY} ‐exec rm ‐rf {} \;
    sample.sh
    #内容
    pidfilepath = /data/tianyiyun/mongod/mongos/log/mongos.pid
    logpath = /var/log/mongodb/mongos.log
    logappend = true
    
    bind_ip = 0.0.0.0
    port = 37017
    fork = false
    
    #监听的配置服务器,只能有1个或者3个configs为配置服务器的副本集名字
    keyFile=/data/tianyiyun/conf/keyFile.key
    
    
    
    
    configdb = configs/192.168.0.113:31000,192.168.0.171:31000,192.168.0.57:31000
    #设置最大连接数
    maxConns = 20000
    mongos.conf

        crontab -e
        0 0 * * * /data/tianyiyun/cut_mongodb_log.sh    #表示每天凌晨执行备份

      mongodb配置文件格式  

          MongoDB目前支持两种配置文件格式,第一种就是普通的key=value这种格式,跟MySQL一样

          第二种是yaml格式,而且新版本的MongoDB更推荐使用yaml格式的配置文件写法

    #内容
    pidfilepath = /data/tianyiyun/mongod/mongos/log/mongos.pid
    logpath = /var/log/mongodb/mongos.log
    logappend = true
    
    bind_ip = 0.0.0.0
    port = 37017
    fork = false
    
    #监听的配置服务器,只能有1个或者3个configs为配置服务器的副本集名字
    keyFile=/data/tianyiyun/conf/keyFile.key
    
    
    
    
    
    configdb = configs/192.168.0.113:31000,192.168.0.171:31000,192.168.0.57:31000
    #设置最大连接数
    maxConns = 2000
    普通格式
    systemLog:
      destination: file
      logAppend: true
      path:  /var/log/mongodb/mongos.log
    
    processManagement:
      fork: false
      pidFilePath: /data/tianyiyun/mongod/mongos/log/mongos.pid
    
    # network interfaces
    net:
      port: 37017
      bindIp: 0.0.0.0
      maxIncomingConnections: 2000
    
    sharding:
       configDB: configs/192.168.0.57:31000,192.168.0.171:31000,192.168.0.113:31000
    
    
    security:
       keyFile: /data/tianyiyun/conf/keyFile.key
       clusterAuthMode: keyFile
    
    
    setParameter:
      diagnosticDataCollectionEnabled: false
    yaml格式 

    日志生产量

           

          find /var/log/mongodb/ -mtime +1 -delete

          

         修改日志保留时长

         

  • 相关阅读:
    django中的FBV和CBV
    RESTful
    REST
    18.前端路由router-08权限控制
    17.前端路由router-07keep-alive
    16.前端路由router-06动态路由
    15.前端路由router-05嵌套路由
    14.前端路由router-04编程式导航
    13.前端路由router-03路由参数
    java基础总结
  • 原文地址:https://www.cnblogs.com/yxh168/p/16559015.html
Copyright © 2020-2023  润新知