博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell 文件备份脚本
阅读量:5058 次
发布时间:2019-06-12

本文共 1363 字,大约阅读时间需要 4 分钟。

#!/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=1        #保留的最大备份文件数量    maxFileCount=3        for file in $files        do        #当前备份文件数量大于最大备份文件数量,则删除历史的备份文件                if [ $index -gt $maxFileCount ]; then                        echo "==========>backup files count > $maxFileCount, delete history file $backupdir/$file"            rm -rf $backupdir/$file                fi                index=$[$index+1]        done        echo "==========>fileCount:$index"}#文件备份函数function backup() {       #源文件    sourceFile=$directory/$filename    #如果源文件存在,执行备份    if [ -f $sourceFile ]; then            backupFile=$backupdir/$filename`stat -c %y $sourceFile | cut -c 1-10`            echo "==========> moving $sourceFile to $backupFile"            mv $sourceFile $backupFile        #备份完后,清除历史备份文件(如果超出最大备份数)            deleteFiles    else            echo "==========> $sourceFile is not found"    fi}echo "==========> do backup"backupecho "==========> backup finish"

 

转载于:https://www.cnblogs.com/cocoat/p/7608369.html

你可能感兴趣的文章
Python-Web框架的本质
查看>>
Unrecognized Windows Sockets error: 0: JVM_Bind 异常解决办法
查看>>
struts2中<s:form>的应用
查看>>
QML学习笔记之一
查看>>
7NiuYun云存储UploadPicture
查看>>
Window 的引导过程
查看>>
python与 Ajax跨域请求
查看>>
Java实体书写规范
查看>>
App右上角数字
查看>>
从.NET中委托写法的演变谈开去(上):委托与匿名方法
查看>>
六、PowerDesigner 正向工程 和 逆向工程 说明
查看>>
小算法
查看>>
201521123024 《java程序设计》 第12周学习总结
查看>>
贪吃蛇游戏改进
查看>>
新作《ASP.NET MVC 5框架揭秘》正式出版
查看>>
“前.NET Core时代”如何实现跨平台代码重用 ——源文件重用
查看>>
【POJ1845】Sumdiv(数论/约数和定理/等比数列二分求和)
查看>>
在WPF中使用Caliburn.Micro搭建MEF插件化开发框架
查看>>
IdentityServer4-用EF配置Client(一)
查看>>
UWP: 掌握编译型绑定 x:Bind
查看>>