zoukankan      html  css  js  c++  java
  • linux备份脚本-模板

    #!/bin/bash
    
    basePath=$(cd `dirname $0` ; pwd)
    cd $basePath
    bakName=bak_Dir
    bakPath=$basePath/$bakName
    bakDate=$(date "+%Y-%m-%d-%H-%M-%S")
    
    filePath=/usr/local/test
    
    echo "当前脚本所在目录:$basePath"
    echo "备份目录名:$bakName"
    echo "备份目录完整路径:$bakPath"
    echo "备份时间:$bakDate"
    echo "待备份的文件路径:$filePath"
    
    
    #创建备份目录及临时目录
    if [ -d $bakPath ];then
    echo "备份目录已存在:$bakPath"
    else
    echo "创建备份目录"
    mkdir -p $bakPath
    fi
    mkdir -p $bakPath/temp
    
    cp -rf $filePath $bakPath/temp
    echo "success"
    
    #备份数据库
    echo "bakup database starting..."
    mysqldump -uroot -p123456 test > $bakPath/temp/sql_$bakDate.sql
    echo "success"
    
    echo "压缩备份目录"
    tar -zcf $bakName/bak_${bakDate}.tgz $bakName/temp/*
    echo "删除备份目录"
    rm -rf $bakPath/temp
    
    echo "历史文件清理"
    #仅保留最近10天的数据
    find $bakName -mtime +10 -name "*.tgz" -exec rm -rf {} ;
    #仅保留最近5个文件
    fileNum_total=$(ls -l $bakName | wc -l)
    fileNum_keep=5
    fileNum_del=$(($fileNum_total-$fileNum_keep))
    echo $fileNum_total
    echo $fileNum_del
    
    ls -tr $bakName | head -${fileNum_del} | xargs rm -rf
    find命令使用说明:
    find  [查找路径] 寻找条件 操作:
    可接参数:
    -user      匹配所有者
    -mtime  -n  +n     匹配修改内容的时间(-n指n天以内,+n指内天以前)
    -name   匹配名称
    -iname   匹配名称,不区分大小写
    -size    匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件)
    -prune    忽略某个目录
    -exec …… {} ;     其中“……”跟用于进一步处理搜索结果的命令
    示例:
    find  /  -user  linuxprobe  -exec  cp  -a  {}  /root/findresults/ ;
    查找linuxprobe这个用户的所有文件,复制该用户下的文件(附带原属性)至root/findresults目录下。
  • 相关阅读:
    mysql修改数据表名
    HDU 5742 It's All In The Mind (贪心)
    HDU 5752 Sqrt Bo (数论)
    HDU 5753 Permutation Bo (推导 or 打表找规律)
    HDU 5762 Teacher Bo (暴力)
    HDU 5754 Life Winner Bo (博弈)
    CodeForces 455C Civilization (并查集+树的直径)
    CodeForces 455B A Lot of Games (博弈论)
    CodeForces 455A Boredom (DP)
    HDU 4861 Couple doubi (数论 or 打表找规律)
  • 原文地址:https://www.cnblogs.com/schblog/p/14111823.html
Copyright © 2011-2022 走看看