zoukankan      html  css  js  c++  java
  • 日志备份的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
  • 相关阅读:
    Linux在线或者离线安装gitlab
    Linux如何安装rpm文件
    使用docker run启动并进入一个容器
    docker导入导出镜像
    Mycat学习笔记一
    Mysql源码安装过程中可能碰到的问题
    当idea的maven项目没有.iml文件导致打开失败时
    从Vue.js窥探前端行业
    CSS 的overflow:hidden 属性详细解释
    win7系统Myeclipse下切换SVN用户
  • 原文地址:https://www.cnblogs.com/alsodzy/p/9039562.html
Copyright © 2011-2022 走看看