#!/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= if [[ ${DAY} -ne ]];then
############ 增量备
# 计算本次增量备的起始版本号(上一次备份到的版本号 + )
START=$((${HAS_BACK_VERSION} + )) # 起始版本号不能大于当前版本号
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
fi
else
############ 全量备
# 直接全备
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.sh
fi # 只保留7个文件
NUM=
CURRENT_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 -f
fi

增量+全量备份SVN服务器的更多相关文章

  1. SVN全量备份+增量备份脚本

    一.全量备份 环境:一台主SVN,一台备SVN(主要提供备份功能),后续可通过钩子脚本进行实时备份,后续发给大家. 工作原理:通过svn的hotcopy命令过行热备份,并进行一系列的检查,备份后通过r ...

  2. 利用ant脚本 自动构建svn增量/全量 系统程序升级包【转】

    引文:我们公司是做自己使用产品,迭代更新周期短,每次都花费较多时间和精力打包做增量更新,发现了一篇文章用于 自动构建svn增量/全量 系统程序升级包,收藏之,希望可以通过学习,更加简化我们的工作. 文 ...

  3. Centos 6.9 安装xtrabackup-2.4.8 通用包,yum安装,全量备份,增量备份

    xtrabackup-2.4.8的安装及使用 Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备 ...

  4. xtrabackup实现全量备份和增量备份

    mysql增量和完全备份innobackupex2.1.9版本1 yum安装: 官网地址:https://www.percona.com/doc/percona-xtrabackup/LATEST/i ...

  5. HBase备份还原OpenTSDB数据之Export/Import(增量+全量)

    前言 本文基于伪分布式搭建 hadoop+zookeeper+hbase+opentsdb之后,文章链接:https://www.cnblogs.com/yybrhr/p/11128149.html, ...

  6. MySQL定时备份(全量备份+增量备份)

    MySQL 定时备份 参考 zone7_ 的 实战-MySQL定时备份系列文章 参考 zmcyu 的 mysql数据库的完整备份.差异备份.增量备份 更多binlog的学习参考马丁传奇的 MySQL的 ...

  7. mysql全量备份与增量备份

    mysql全量备份与增量备份   1.全量备份 全量备份就是把数据库中所有的数据进行备份. 备份所有库: mysqldump -uroot -p456 -S /data/3306/mysql.sock ...

  8. mysql备份脚本,每天执行一次全量备份,三次增量备份

    线上一个小业务的mysql备份 全量备份 #!/bin/bash #crete by hexm at -- #scripte name : full_backup.sh #descriptioni : ...

  9. mysql 全量备份与增量备份

    全量备份[root@master adm]# cat DBfullBak.sh #!/bin/bash #use mysqldump to fully backup mysql data BakDir ...

随机推荐

  1. jmter 5.1 中文

    一.jmeter5.0下载解压后,默认的界面是英文版的,许多人觉得不方便,想要汉化,jmeter是不需要安装汉化包的,通过修改配置文件即可:1.找到jmeter解压后的文件夹,例如我是安装在D:\De ...

  2. 剑指offer第二版面试题4:替换空格(JAVA版)

    题目:请实现一个函数,把字符串中的每个空格替换成“%20”.例如输入“We are happy”,则输出”We%20are%20happy”. 原因:在网络编程中,如果URL参数中含有特殊字符,如:空 ...

  3. linux内核编译时如何根据spec指定编译包

    问题: 1> rpmbuild -bb SPECS/kernel.spec --define="_topdir `pwd`" 编译 出的包并未包含kernel-firmwar ...

  4. Ubuntu终端内打开文件管理器

        本文首发于cartoon的博客     转载请注明出处:https://cartoonyu.github.io/cartoon-blog     近段时间在ubuntu中搭建jdk并在jdk的 ...

  5. hdu 3123 2009 Asia Wuhan Regional Contest Online

    以为有啥牛逼定理,没推出来,随便写写就A了----题非常水,可是wa了一次 n>=m  则n!==0 注意的一点,最后 看我的凝视 #include <cstdio> #includ ...

  6. 响应断言和json asstion

    1.要勾选Additionallly  assert value才可以输入下面的预期结果哦

  7. Java中++操作是同步的吗?为什么?

    不是同步的 因为++操作分为三步实现 内存到寄存器 寄存器自增操作 寄存器写回内存 这三步每一步都可以被打断,不是原子操作,所以不是同步操作

  8. 推荐20个让你学习并精通CSS的网站

    1. A List Apart CSS Topics A List Apart,学习网页设计和最佳实践的首选网站.这个网站从1999年就开始发表关于CSS的文章,其中大部分文章都是面向那些更注重符合标 ...

  9. 使用ribbon实现负载均衡

    使用ribbon之前的准备工作: 1.你要有两个服务,一个是服务消费方(下图的xing-movie是消费方),一个是服务提供方(xing-user是服务提供者),并且服务提供方要有两个实例,也就是xi ...

  10. 召回率、AUC、ROC模型评估指标精要

    混淆矩阵 精准率/查准率,presicion 预测为正的样本中实际为正的概率 召回率/查全率,recall 实际为正的样本中被预测为正的概率 TPR F1分数,同时考虑查准率和查全率,二者达到平衡,= ...