丹调生活 发表于 2018-10-26 10:23:13

Mongodb日志管理

#切除本身日志内容并且自动生成新的以日期生成的历史文件  
方法一:
  
mongod -v --logpath /var/log/mongodb/mongos.log
  

  
方法二:
  
kill -SIGUSR1 {pid}
  

  
方法三:
  
use admin
  
db.runCommand("logRotate")
  

  
#两种删除旧的日志文件,保留7天的日志文件
  
find /var/log/mongodb/mongos.log.* -mtime +7 -exec rm -rf {} \;
  
find /var/log/mongodb/mongos.log.* -mtime +7 -delete
  

  
方法四:
  
vim /etc/logrotate.d/mongodb
  
/mongod/config.log {
  
daily#每天
  
rotate 7#轮转7天
  
compress#通过gzip压缩
  
missingok#如果日志不存在则忽略该警告
  
notifempty#如果是空文件则不转存
  
sharedscripts      #只为整个日志组运行一次的脚本
  
copytruncate      #用于还在打开中的日志文件,把当前日志备份并截断
  
dateext#使用日期作为命名格式
  
size 200M#当日志文件达到指定大小时就转存,可以指定K,M
  
postrotate
  /bin/kill -SIGUSR1 'cat /mongod/mongod.lock 2>/dev/null' 2> /dev/null || true
  
endscript#结束脚本
  
}
  

  
#立即使上面的语句生效
  
logrotate mongodb
  

  
#脚本实现自动切割日志
  
vim /root/cut_mongodb_log.sh
  
#!/bin/bash
  
datafile=/mongodb/mongodb_data
  
logfile=/mongodb/mongodb_log
  
days=7
  
/bin/kill -SIGUSR1 'cat $datafile/mongod.lock'
  
find $logfile/ -mtime +$days -delete
  

  
chmod +x /root/cut_mongodb_log.sh
  
vim /etc/crontab
  
0 0 * * * /root/cut_mongodb_log.sh
  
service crond restart
  
chkconfig crond on


页: [1]
查看完整版本: Mongodb日志管理