加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

shell 文件备份脚本

发布时间:2020-12-13 21:57:38 所属栏目:Linux 来源:网络整理
导读:#!/bin/ bash#输入参数:文件名filename =$ 1 #源文件目录directory =/opt/docker/cloud-driver-training/ apps#备份文件目录backupdir =$directory/ backup#删除备份文件函数(备份文件数量设有有上限,超过上限会删除更早之前的备份文件) function delete
#!/bin/bash

#输入参数:文件名
filename=$1
#源文件目录
directory=/opt/docker/cloud-driver-training/apps
#备份文件目录
backupdir=$directory/backup

#删除备份文件函数(备份文件数量设有有上限,超过上限会删除更早之前的备份文件)
function deleteFiles() {
        if [ -z $filename ]; then
                echo "==========>param filename is null"
                return
        fi
        #列出所有同名文件,按文件更新时间倒序排序
        files=`ls -t $backupdir | grep $filename`
        index=
        #保留的最大备份文件数量
    maxFileCount=3
        for file in $files
        do
        #当前备份文件数量大于最大备份文件数量,则删除历史的备份文件
                if [ $index -gt $maxFileCount ]; then
                        ==========>backup files count > $maxFileCount,delete history file $backupdir/$file"
            rm -rf $backupdir/$file
                
                index=$[$index+]
        done
        ==========>fileCount:$index
}

#文件备份函数
 backup() {
       #源文件
    sourceFile=$directory/$filename
    #如果源文件存在,执行备份
    if [ -f $sourceFile ]; then
            backupFile=$backupdir/$filename`stat -c %y $sourceFile | cut -c 1-10`
            ==========> moving $sourceFile to $backupFilemv $sourceFile $backupFile
        #备份完后,清除历史备份文件(如果超出最大备份数)
            deleteFiles
    else
            ==========> $sourceFile is not found"
    
}

==========> do backup
backup
==========> backup finish"

?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读