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" ? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |