SVN全量和增量备份脚本
来源:互联网 发布:windows无法检索有关 编辑:程序博客网 时间:2024/04/28 15:18
1)定义备份策略:
备份频度:每周日进行一次全量备份,每周日到周六进行增量备份
备份地点:备份存储路径到/opt/data_backup/svn_backup/
备份命名:全量备份文件名为:weekly_fully_backup.yymmdd,增量备份文件命名为:daily-incremental-backup.yymmdd
备份时间:每晚02点开始
2)建立全量备份脚本:
#!/bin/sh
DATE=$(date +%Y%m%d%H%M%S) #定义时间变量,用于文件名后缀
SVN_DIR=/svndata/bankeys #定义SVN库目录变量
SVN_BAK_DIR=/opt/data_backup/svn_backup/full #定义备份文件存放目录变量
echo '0' > /tmp/svn_id #初始化版本号,全库备份一定是从0版本号开始
NUM1=$(cat /tmp/svn_id) #取初始化版本号
NUM2=$(svnlook youngest $SVN_DIR) #取当前最新的版本号
#开始备份
svnadmin dump $SVN_DIR -r $NUM1:$NUM2> $SVN_BAK_DIR/svn_fullbak_$DATE
#判断备份是否成功,若成功,则记录当前最新的版本号到临时文件中,用于下次增量备份使用
if [ $? -eq 0 ];
then
echo $NUM2 > /tmp/svn_id
else
echo "backupfail...."
fi
3)建立增量备份脚本:
#!/bin/sh
DATE=$(date+%Y%m%d%H%M%S) #定义时间变量,用于文件名后缀
SVN_DIR=/svndata/bankeys #定义SVN库目录变量
SVN_BAK_DIR=/opt/data_backup/svn_backup/incremental #定义备份文件存放目录变量
NUM1=$(cat/tmp/svn_id) #取初始化版本号
NUM2=$(svnlookyoungest $SVN_DIR) #取当前最新的版本号
#开始备份
svnadmindump $SVN_DIR -r $NUM2 --incremental > $SVN_BAK_DIR/svn_incrementalbak_$DATE
#判断备份是否成功,若成功,则记录当前最新的版本号到临时文件中,用于下次增量备份使用
if [ $? -eq0 ];
then
echo $NUM2 > /tmp/svn_id
else
echo "backup fail...."
fi
4)配置/etc/crontab文件
0 02 * * 1-6/usr/svn_backup/svn-backup-incremental.sh
0 02 * * 0/usr/svn_backup/svn-backup-full.sh
5)恢复顺序从低版本逐个恢复到高版本;即,先恢复最近的一次完整备份 weekly_full_backup.071201(举例),然后恢复紧挨着这个文件的增量备份 daily_incremental_backup.071202,再恢复后一天的备份071203,依次类推。如下:
user1>mkdir newrepos
user1>svnadmin create newrepos
user1>svnadmin load newrepos <weekly_full_backup.071201
user1>svnadmin load newrepos <daily_incremental_backup.071202
user1>svnadmin load newrepos <daily_incremental_backup.071203
- SVN全量和增量备份脚本
- SVN全量备份和增量备份脚本
- mysql全量和增量备份脚本
- SVN 全量备份和增量备份操作
- SVN--全量备份与增量备份
- SVN备份方式及脚本(全量备份,增量备份)
- mysql全量、增量备份脚本
- mysqldump备份脚本(全量+增量)
- Mysql 增量备份和全量备份
- mysql增量备份和全量备份
- mysql 全量备份和增量备份
- 全备份,增量备份和差量备份
- MySql的全量备份和增量备份及还原
- mysql增量、全量备份
- 增量和全量
- innobackupex在线备份及恢复(全量和增量)
- innobackupex mysql备份及恢复(全量和增量)
- mysql全量备份、增量备份
- 自动化ui automator 按键自定义时长长按的实现
- HDU 逃离迷宫
- 【分布式】分布式架构
- c++中关键字static在class类变量及函数详解及实例运行答案
- DCMTK3.6.0入门指南
- SVN全量和增量备份脚本
- Java连接Mysql数据库警告:Establishing SSL connection without server's identity
- DICOM图像像素值(灰度值)转换为CT值
- spring 测试层学习记录
- DICOM图像像素值(灰度值)转换为CT值
- lesson 11:使用TCP协议编写一个网络程序,设置服务器端的监听端口是8002,当与客户端建立连接后,服务器端向客户端发送数据“Hello, world”,客户端收到数据后打印输出。
- JSON-spirit用法
- Druid连接池的实用配置详解
- java并发编程实战《发布与逸出》