zoukankan      html  css  js  c++  java
  • MongoDB数据库日志备份压缩脚本

    脚本1小时执行一次,对mongod,mongos,arbiter,config的日志进行logRotate,对生成的日志进行压缩。

    定期删除job脚本

    #bo1.li
    0 1 * * * /usr/bin/find /home/cipcache/var/log/config/config*log.* -ctime +14 -exec rm {} \;
    0 1 * * * /usr/bin/find /home/cipcache/var/log/arbiter/arbiter*log.* -ctime +14 -exec rm {} \;
    0 1 * * * /usr/bin/find /home/cipcache/var/log/mongos/mongos.log.* -ctime +14 -exec rm {} \;
    0 1 * * * /usr/bin/find /home/cipcache/var/log/mongod/shard.log.* -ctime +14 -exec rm {} \;

    压缩备份脚本

    #!/bin/bash
    cd "$(dirname $0)";

    curDate=`date '+%Y%m%d_%H%M%S'`
    logpath="/home/cipcache/var/log"
    mongodlogpath="$logpath/mongod"
    mongoslogpath="$logpath/mongos"
    arbiterlogpath="$logpath/arbiter"
    configlogpath="$logpath/config"

    mongodlogfile="$logpath/mongod/shard.log"
    mongoslogfile="$logpath/mongos/mongos.log"


    C_DC_PORT=(24001 24002 24003 24004)
    A_DC_PORT=(21001 21002 21003 21004)


    if [ ! -d "$newmongoslogpath" ];then
    mkdir -p $newmongoslogpath
    fi

    if [ ! -d "$newmongodlogpath" ];then
    mkdir -p $newmongodlogpath
    fi

    #if [ ! -d "$newarbiterlogpath" ];then
    # mkdir -p $newarbiterlogpath
    #fi

    #if [ ! -d "$newconfiglogpath" ];then
    # mkdir -p $newconfiglogpath
    #fi


    if [ -f $mongodlogfile ];then
    /home/cipcache/sbin/mongodb/mongo admin --eval "db.runCommand( { logRotate : 1 } )"
    newmongodlogName=`ls -t $mongodlogpath | grep "shard.log.\/*" | awk 'NR==1'`
    if [ -n ${newmongodlogName} ] && [ -f "$mongodlogpath/$newmongodlogName" ] ;then
    #mv $mongodlogpath/$newmongodlogName $newmongodlogpath/shard.log.$curDate
    #cd $newmongodlogpath;/usr/bin/gzip shard.log.$curDate
    /usr/bin/gzip "$mongodlogpath/$newmongodlogName"
    fi
    fi

    if [ -f $mongoslogfile ];then
    /home/cipcache/sbin/mongodb/mongo --port 30000 admin --eval "db.runCommand( { logRotate : 1 } )"
    newmongoslogName=`ls -t $mongoslogpath | grep "mongos.log.\/*" | awk 'NR==1'`
    if [ -n ${newmongoslogName} ] && [ -f "$mongoslogpath/$newmongoslogName" ] ;then
    #mv $mongodlogpath/$newmongodlogName $newmongodlogpath/shard.log.$curDate
    #cd $newmongodlogpath;/usr/bin/gzip shard.log.$curDate
    /usr/bin/gzip "$mongoslogpath/$newmongoslogName"
    fi
    fi

    for value in ${C_DC_PORT[*]}
    do
    /home/cipcache/sbin/mongodb/mongo --port $value admin --eval "db.runCommand( { logRotate : 1 } )"
    newconfiglogName=`ls -t $configlogpath/config*log.* | awk 'NR==1'`
    #mv $newconfiglogName $newconfiglogpath/config$value.log.$curDate
    if [ -n ${newconfiglogName} ] ;then
    /usr/bin/gzip "$newconfiglogName"
    fi
    done

    for value in ${A_DC_PORT[*]}
    do
    /home/cipcache/sbin/mongodb/mongo --port $value admin --eval "db.runCommand( { logRotate : 1 } )"
    newarbiterlogName=`ls -t $arbiterlogpath/arbiter*log.* | awk 'NR==1'`
    #mv $newarbiterlogName $newarbiterlogpath/arbiter$value.log.$curDate
    if [ -n ${newarbiterlogName} ];then
    /usr/bin/gzip "$newarbiterlogName"
    fi
    done

    exit 0

  • 相关阅读:
    https authorization basic
    第二十一章 单例模式
    第十九章 组合模式
    第十八章 备忘录模式
    第十七章 适配器模式
    第十六章 状态模式
    新博客~
    CF922D Robot Vacuum Cleaner
    BZOJ1767 [CEOI2009]harbingers
    树的直径学习笔记
  • 原文地址:https://www.cnblogs.com/mytech/p/3518559.html
Copyright © 2011-2022 走看看