美文网首页
001-日志归档

001-日志归档

作者: mo371 | 来源:发表于2019-06-06 20:35 被阅读0次
    #!/bin/bash
    #auth morb
    #date 20190606
    #打包前一天的日志,并且清除30天前的日志压缩包
    #打包日期格式,获取一天前日期
    OLDDATE=`date -d '-1 days' +%Y-%m-%d`
    OLDDATES=`date -d '-1 days' +%Y-%m-%d-%H%M%S`
    
    SHELL_NAME="$0"
    SHELL_DIR="/server/scripts"
    SHELL_LOG="${SHELL_DIR}/${SHELL_NAME}.log"
    
    CDATE=$(date "+%Y-%m-%d")
    CTIME=$(date "+%H-%M-%S")
    
    echo "========================" >> ${SHELL_LOG}
    
    #脚本日志记录
    writelog(){
            LOGINFO=$1
            echo "${CDATE} ${CTIME}: ${SHELL_NAME} : ${LOGINFO}" >> ${SHELL_LOG}
    }
    
    #日志文件目录
    mk_logdir(){
        LOGDIR="/logs/gdmz"
        if [ ! -d $LOGDIR ];then
           mkdir -p $LOGDIR
        fi
        if [ $? -ne 0 ];then
        exit
        fi
        writelog "创建日志文件目录===》done";   
    }
    
    #日志备份目录
    mk_bak_logdir(){
        LOGBAKDIR=/logs/oldlogs/$OLDDATES
        if [ ! -d $LOGBAKDIR ];then
           mkdir -p $LOGBAKDIR
        fi
        if [ $? -ne 0 ];then
        exit 
        fi
        writelog "创建日志备份目录===》done";
    
    }
    
    #将日志文件移动到备份目录,并打包,删除原文件
    mv_tar_rm_logdir(){
        mv $LOGDIR/*${OLDDATE}.log  $LOGBAKDIR
        if [ $? -ne 0 ];then
        exit
        fi
    
        cd /logs/oldlogs
        tar -zcvf ${OLDDATES}.tar.gz $OLDDATES
        if [ $? -eq 0 ];then
        rm -rf $OLDDATES
        fi
        if [ $? -ne 0 ];then
        exit
        fi
        writelog "日志文件移动到备份目录,并打包,删除原文件录===》done";
    }
    
    #删除30天前的历史日志压缩文件
    rm_log_tar_gz(){
        find /logs/oldlogs -name "*.tar.gz" -mtime +30 |xargs rm -rf
        if [ $? -ne 0 ];then
        exit
        fi
        writelog "删除30天前的历史日志压缩文件===》done";
    }
    
    
    main(){
                mk_logdir;
                mk_bak_logdir;
                mv_tar_rm_logdir;
                rm_log_tar_gz;
    }
    main $1
    ==================
    效果:
    [root@test scripts]# tail -f 2.sh.log 
    ========================
    2019-06-06 01-02-16: 2.sh : 创建日志文件目录===》done
    2019-06-06 01-02-16: 2.sh : 创建日志备份目录===》done
    2019-06-06 01-02-16: 2.sh : 日志文件移动到备份目录,并打包,删除原文件录===》done
    2019-06-06 01-02-16: 2.sh : 删除30天前的历史日志压缩文件===》done
    

    相关文章

      网友评论

          本文标题:001-日志归档

          本文链接:https://www.haomeiwen.com/subject/qufpxctx.html