Go教程

MongoDB集群日志轮转切割

本文主要是介绍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格式

 

这篇关于MongoDB集群日志轮转切割的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!