博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
增量+全量备份SVN服务器
阅读量:4358 次
发布时间:2019-06-07

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

#!/bin/bash# 获取当前是星期几DAY=$(date +%w) # 获取当前的日期DATE=$(date '+%Y-%m-%d-%H-%M') # 获取当前版本库中最新的版本CURRENT_VERSION=$(svn info svn://localhost/edu | grep Revision | awk '{print $2}') # 记录上一次备份到的版本HAS_BACK_VERSION=62127if [[ ${DAY} -ne 0 ]];then    ############ 增量备    # 计算本次增量备的起始版本号(上一次备份到的版本号 + 1)    START=$((${HAS_BACK_VERSION} + 1))    # 起始版本号不能大于当前版本号    if [[ ${START} -le ${CURRENT_VERSION} ]];then        # 开始增量备:从起始版本号到最新版本        svnadmin dump /data/svndata/edu --revision ${START}:${CURRENT_VERSION} --incremental > /data/backup/edu_incr_${DATE}_${START}:${CURRENT_VERSION}.dump         # 将最新版本记录到文件中,作为下一次的基准版本        sed -i "s/HAS_BACK_VERSION=${HAS_BACK_VERSION}/HAS_BACK_VERSION=${CURRENT_VERSION}/g" /data/backup/backup_svn.sh    fielse    ############ 全量备    # 直接全备    svnadmin dump /data/svndata/edu > /data/backup/edu_full_${DATE}_0:${CURRENT_VERSION}.dump     # 记录全备的版本号    sed -i "s/HAS_BACK_VERSION=${HAS_BACK_VERSION}/HAS_BACK_VERSION=${CURRENT_VERSION}/g" /data/backup/backup_svn.shfi# 只保留7个文件NUM=7CURRENT_NUM=$(cd /data/backup && ls *.dump | wc -l)if [[ ${CURRENT_NUM} -gt ${NUM} ]];then    DELETE_NUM=$((${CURRENT_NUM} - ${NUM}))    cd /data/backup && ls *.dump -rt | head -${DELETE_NUM} | xargs rm -ffi

转载于:https://www.cnblogs.com/t-road/p/11274996.html

你可能感兴趣的文章
HDU 2188------巴什博弈
查看>>
tp5任务队列使用supervisor常驻进程
查看>>
Xmind?
查看>>
spring+quartz 实现定时任务三
查看>>
day2-三级菜单
查看>>
linux下升级4.5.1版本gcc
查看>>
Beanutils
查看>>
FastJson
查看>>
excel4j
查看>>
Thread
查看>>
char * 与char []探究理解
查看>>
QT窗体显示在屏幕中间位置
查看>>
emmet使用技巧
查看>>
RPC-Thrift(二)
查看>>
MSSQL for Linux 安装指南
查看>>
【Golang 接口自动化08】使用标准库httptest完成HTTP请求的Mock测试
查看>>
前端必读:浏览器内部工作原理
查看>>
Uri、URL和URN三者的区别
查看>>
数据字典的转换
查看>>
二维数组按照指定的字段排序的函数
查看>>