xiu12 发表于 2018-10-26 11:29:28

Linux下定时切割Mongodb数据库日志并删除指定天数前的日志记录

  说明:
  操作系统:CentOS
  Mongodb安装目录:/usr/local/mongodb
  Mongodb数据库存放目录:/home/data/mongodb/mongodb_data
  Mongodb日志存放目录:/home/data/mongodb/mongodb_log
  实现目的:
  对Mongodb数据库日志按天保存,并且只保留最近7天的日志记录。
  具体操作:
  使用Mongodb数据库自带的命令来切割日志
  ps -def | grep mongod

  kill -SIGUSR1   1、创建Mongodb数据库日志切割脚本
  vi /home/crontab/cut_mongodb_log.sh #编辑
  #!/bin/sh
  datafile=/home/data/mongodb/mongodb_data #Mongodb数据库存放目录
  logfile=/home/data/mongodb/mongodb_log #Mongodb日志存放目录
  days=7 #代表删除7天前的备份,即只保留最近7天的备份
  /bin/kill -SIGUSR1 `cat $datafile/mongod.lock` #切割日志
  find $logfile/ -mtime +$days -delete #删除7天前的备份文件
  :wq! #保存退出
  2、添加任务计划,修改/etc/crontab
  vi /etc/crontab #在最后一行添加
  0 0 * * * /home/crontab/cut_mongodb_log.sh#表示每天凌晨执行备份
  :wq! #保存退出
  3、重新启动crond使设置生效
  /etc/rc.d/init.d/crond restart#yum install -y vixie-cron安装计划任务,某些系统上可能没有预装
  chkconfig crond on #设为开机启动
  service crond start #启动
  每天会在/home/data/mongodb/mongodb_log目录下生成类似mongodb.log.2015-02-28T06-33-20的日志记录
  并且只保留最近7天的日志记录。
  至此,Linux下定时切割Mongodb数据库日志并删除指定天数前的日志记录完成。

页: [1]
查看完整版本: Linux下定时切割Mongodb数据库日志并删除指定天数前的日志记录