linuxweb目录文件全备脚本 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

    #!/bin/bash

    #文件全备脚本

    #删除7天以前的文件

    #调用方法

    #yxy

    #www.sql8.net

    #anybooks@qq.com

    #2014-08-20

    #请主意所有路径都为全整目录

    #sh filebak.sh 要备份的目标目录 备份文件存放路径 保留文件的天数

    #sh filebak.sh /home/wd/wd/wd /home/wd/wd/bakup 7

    #sh filebak.sh /home/dd/dd/dd /home/dd/dd/bakup 7

    #path

    path=$1

    backupPath=$2

    n=$3

    #参数不全

    if [ "$path" == "" ] || [ "$backupPath" == "" ] || [ "$n" == "" ]; then

    echo "Insufficient arguments"

    exit 1

    fi

    #目标目录不存,退出

    if [ ! -d "$path" ]; then

    echo "Directory does not exist"

    exit 1

    fi

    #如果存放备份文件的目录不存,新建

    if [ ! -d "$backupPath" ]; then

    mkdir "$backupPath"

    fi

    #Time information

    #时间

    time=`date +"%Y-%m-%d-%H-%M-%S"`

    day=`date +"%d"`

    month=`date +"%Y-%m"`

    weekday=`date +"%u"`

    #路径最后一个目录

    folderName=`basename $path`

    fileName=$folderName$day$time.tar.gz

    #如果文件存在,删除

    if [ -e "$fileName" ]; then

    rm -rf $fileName

    fi

    cd $path

    cd ..

    tar -zcf $fileName $folderName

    #移动备份文件到备份目录

    mv $fileName $backupPath

    #删除N天前的数据

    find $backupPath -name "$folderName*.gz" -type f -mtime +$n -exec rm {} \;

    ********************crontab设置**********************************************

    根据需要设置相关备份规则,此处略则部分规则

    #每天1点备份

    0 1 * * * cd /opt/backup/database && ./1.sh

    #每周一1点备份

    0 1 * * 1 cd /opt/backup/database && ./1.sh

    #每2小时备份

    0 */2 * * * cd /opt/backup/database && ./1.sh

    #每2天备份

    0 0 */2 * * cd /opt/backup/database && ./1.sh

    #每个月5号1点20分备份

    20 1 5 * * cd /opt/backup/database && ./1.sh

    更多contrab规则请看

    http://www.sql8.net/a/course/caozuoxitong/liunx/2014/0815/30328.html

    mysql全备脚本升级版,支持多台主机,多个数据库http://www.sql8.net/a/course/caozuoxitong/liunx/2014/0820/30545.html

    mysql全备脚本,此脚本可以备份多个数据库:http://www.sql8.net/a/course/shujuku/Mysql/2014/0815/30340.html

最新文章