• 日志备份的shell脚本


      以前工作中写的日志备份的脚本,现记录一下日志备份脚本代码,以后工作中遇到遇到需要备份或者清理日志的时候可以拿来简单修改一下使用,减少工作量。

      把备份脚本添加到Linux定时任务中,可以定时执行。

      日志备份代码如下:

    #!/bin/sh
    #文件名 log_backup.sh 
    
    echo "===================================================================================="
    echo 当前时间为$(date)
    . ~/.bash_profile
    if [ -d ${SVC_PGW_BACKUP_PATH}/SVC_BAK_LOG_files ]; then
            echo "备份文件目录已存在"
    else
            mkdir -pv ${SVC_PGW_BACKUP_PATH}/SVC_BAK_LOG_files
    fi
    echo "开始备份日志文件"
    export LANG="en_US.UTF-8"
    tarName=$(date +%Y%m%d%H%M%S) #日志打成tar.gz的文件名
    undelname=$(date -I)    #以当天日期
    cd $SVC_PGW_LOG_PATH   #进入log目录
    echo "显示当前目录  $(pwd)"
    echo "已进入到日志目录"
    oldfile=$(find $SVC_PGW_LOG_PATH -type f -mtime +7 -name "*.log.*"|awk -F '.' '{if($NF!=undelname) {print $0}}' undelname=$undelname)       #查找所有带日期的且日期不是当天的log文件
    echo "所需要备份的日志文件"
    echo -e $oldfile
    if [ ! -n "$oldfile" ]; then
        echo "此次没有需要备份的日志"
        echo "====================================================================================="
        exit 0
    else
        echo "此次有需要备份的日志"
    fi
    echo "日志文件备份中。。。。。。"
    tar -Pzcvf $SVC_PGW_BACKUP_PATH/SVC_BAK_LOG_files/${tarName}.tar.gz $oldfile
    echo "备份日志 所存储的具体路径"${SVC_PGW_BACKUP_PATH}/SVC_BAK_LOG_files/${tarName}.tar.gz
    if [ -f ${SVC_PGW_BACKUP_PATH}/SVC_BAK_LOG_files/${tarName}.tar.gz ]; then
        rm -rf $oldfile
        echo "backup success complete!"
    else
        echo "backup fail!"
    fi
    echo "====================================================================================="
    exit 0
  • 相关阅读:
    新入行程序员考虑自己是否明白以下这8件事情
    程序猿品种总结你是哪一类?
    利用趣味漫画讲述云计算起源
    设计师遇到瓶颈时的五个解困惑建议
    可以帮助到我今后的程序员生涯的十分钟思考
    oc编程中继承的相关实例
    centos和ubuntu服务器Bash漏洞修复方法
    jQuery经典面试题精选
    phpstudy -sql服务器2008r2 -中控考勤机 -php 组合查询考勤
    bat 批处理测试局域网速度 两端电脑
  • 原文地址:https://www.cnblogs.com/alsodzy/p/9039562.html
Copyright © 2020-2023  润新知