zoukankan      html  css  js  c++  java
  • Linux下定时切割Mongodb数据库日志并删除指定天数前的日志记录(转)

    文章转自:http://www.osyunwei.com/archives/8998.html

    说明:

    操作系统: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 <mongod process id>

    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! #保存退出

    系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容©版权所有,转载请注明出处及原文链接

    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数据库日志并删除指定天数前的日志记录完成。

  • 相关阅读:
    Golang实现mysql where in 查询
    Golang终止程序运行(类似php die; exit;)和打印变量(print_r)
    (转)Unity中protobuf的使用方法
    (转)PlayerPrefs游戏存档
    Unity3d---> IEnumerator
    (转)Unity3D占用内存太大的解决方法
    UICamera(NGUI Event system)原理
    NGUI诡异的drawCall
    (转)U3D DrawCall优化手记
    (转)Unity3D
  • 原文地址:https://www.cnblogs.com/Jtianlin/p/5081104.html
Copyright © 2011-2022 走看看