zoukankan      html  css  js  c++  java
  • sh autolog backup

    shell sh 每天备份log文件

    #!/bin/bash
    
    # 每天备份log文件
    
    log_path="/home/fdipzone/logs"         # log目录
    backup_path="/home/fdipzone/logs/bak"  # 备份目录
    expire=30                              # 备份文件只保留30天
    
    function backup(){
    
        if [ -d "$log_path" ] && [ -d "$backup_path" ]; then
    
            for file in $(find $log_path -maxdepth 1 -name "*.log" -type f); do
                copy $file
            done
    
        else
            echo "${log_path} or ${backup_path} not exists"
        fi
    
    }
    
    function copy(){
    
        ofile=$1
        dpath="${backup_path}/$(date -d yesterday +%Y/%m/%d/)"
        dfile="${dpath}${ofile##*/}"
    
        if [ -f "$ofile" ] && [ -s "$ofile" ]; then
            
            if [ ! -d "$dpath" ]; then # create folder
                mkdir -p "$dpath"
            fi
    
            cp "$ofile" "$dfile" # copy file
            cat /dev/null > "$ofile" # create empty file
            echo "${ofile} copy to ${dfile} success"
        fi
    
    }
    
    function clearexpire(){
    
        if [ -d "$backup_path" ]; then
            echo ${expire:=30} > /dev/null
            $(find $backup_path -name "*.log" -type f -mtime +$expire -exec rm {} \;) # delete expire file
            $(find $backup_path -mindepth 1 -depth -empty -type d -exec rm -r {} \;) # delete empty folder
        else
            echo "${backup_path} not exists"
        fi
    
    }
    
    backup
    clearexpire
    
    exit 0

  • 相关阅读:
    The Sixth Assignment
    The fifth assigiment
    网络编程
    面向对象
    python数据类型之集合
    python数据类型之列表
    python数据类型之字符串
    python数据类型之字典
    python数据类型之元组
    常用模块
  • 原文地址:https://www.cnblogs.com/fdipzone/p/3715130.html
Copyright © 2011-2022 走看看