增量+全量备份SVN服务器
#!/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服务器的更多相关文章
- SVN全量备份+增量备份脚本
一.全量备份 环境:一台主SVN,一台备SVN(主要提供备份功能),后续可通过钩子脚本进行实时备份,后续发给大家. 工作原理:通过svn的hotcopy命令过行热备份,并进行一系列的检查,备份后通过r ...
- 利用ant脚本 自动构建svn增量/全量 系统程序升级包【转】
引文:我们公司是做自己使用产品,迭代更新周期短,每次都花费较多时间和精力打包做增量更新,发现了一篇文章用于 自动构建svn增量/全量 系统程序升级包,收藏之,希望可以通过学习,更加简化我们的工作. 文 ...
- Centos 6.9 安装xtrabackup-2.4.8 通用包,yum安装,全量备份,增量备份
xtrabackup-2.4.8的安装及使用 Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备 ...
- xtrabackup实现全量备份和增量备份
mysql增量和完全备份innobackupex2.1.9版本1 yum安装: 官网地址:https://www.percona.com/doc/percona-xtrabackup/LATEST/i ...
- HBase备份还原OpenTSDB数据之Export/Import(增量+全量)
前言 本文基于伪分布式搭建 hadoop+zookeeper+hbase+opentsdb之后,文章链接:https://www.cnblogs.com/yybrhr/p/11128149.html, ...
- MySQL定时备份(全量备份+增量备份)
MySQL 定时备份 参考 zone7_ 的 实战-MySQL定时备份系列文章 参考 zmcyu 的 mysql数据库的完整备份.差异备份.增量备份 更多binlog的学习参考马丁传奇的 MySQL的 ...
- mysql全量备份与增量备份
mysql全量备份与增量备份 1.全量备份 全量备份就是把数据库中所有的数据进行备份. 备份所有库: mysqldump -uroot -p456 -S /data/3306/mysql.sock ...
- mysql备份脚本,每天执行一次全量备份,三次增量备份
线上一个小业务的mysql备份 全量备份 #!/bin/bash #crete by hexm at -- #scripte name : full_backup.sh #descriptioni : ...
- mysql 全量备份与增量备份
全量备份[root@master adm]# cat DBfullBak.sh #!/bin/bash #use mysqldump to fully backup mysql data BakDir ...
随机推荐
- Robotframework之下拉列表select
下拉框控件很常见啊,主要说一下robotframework中怎么玩转下拉框,第一点要注意的就是,别看到下拉的就用select控件去操作,因为很多下拉列表用的不一定就是select控件.robotfra ...
- 转-C++之手写strcpy
转自:strcpy函数的实现 知strcpy函数的原型是: char *strcpy(char *dst, const char *src); 实现strcpy函数 解释为什么要返回char * 假如 ...
- Amazon Linux AMI 2015.09 (HVM)平台搭建lamp
更新yum yum update 安装Apache: yum install -y httpd 安装完之后,重新启动 service httpd restart 将Apache设置为开机启动 chkc ...
- C++——Struct 和 Union区别
1.在存储多个成员信息时,编译器会自动给struct第个成员分配存储空间,struct 可以存储多个成员信息,而Union每个成员会用同一个存储空间,只能存储最后一个成员的信息. 2.都是由多个不同的 ...
- Linux的命名空间
1. 为什么提供命名空间 命名空间是一种轻量级的虚拟化手段. 传统的虚拟化软件,是虚拟化多个不同的操作系统,对共享资源的限制很大. 通过提供命名空间,可以让进程与进程之间,用户与用户之间彼此看不到对方 ...
- Java Selenium起步
先将录制的脚本导出来,转成java的格式 在Eclipse中编辑并运行test 2.1 新建一个Java project: File-New-Java Project 2.2 在上一步 ...
- 【单调队列优化】[CF372C] Watching Fireworks is Fun
突然发现我可能单调队列都打不来了...我太菜了... 这道题显然有$$f[i][j]=min\{f[i-1][k]+\vert j-a[i] \vert\}$$ 则$ans=\sum_{i=1}^{m ...
- 【学术篇】CF935E Fafa and Ancient Mathematics 树形dp
前言 这是一道cf的比赛题.. 比赛的时候C题因为自己加了一个很显然不对的特判WA了7次但找不出原因就弃疗了... 然后就想划水, 但是只做了AB又不太好... 估计rating会掉惨 (然而事实证明 ...
- WordPress .gitignore
# ----------------------------------------------------------------- # .gitignore for WordPress @salc ...
- 使用EditPlus批量修改文件编码格式
步骤一: 步骤二: 步骤三: 步骤四: