• 日志备份的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
  • 相关阅读:
    git 命令手册
    leetcode #7 revert integer 问题
    leetcode #1 twoSum问题:简单实用哈希表
    c++模板函数分离编译的问题
    matlab 与c/c++ 混合MEX的编程
    springboot项目打war包
    springboot-jpa多数据源
    springboot使用RestTemplate+httpclient连接池发送http消息
    IDEA如何安装lombok
    Springboot如何启用文件上传功能
  • 原文地址:https://www.cnblogs.com/alsodzy/p/9039562.html
Copyright © 2020-2023  润新知