- 浏览: 2261716 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (423)
- FileNet相关 (3)
- 应用服务器相关 (22)
- Java综合 (77)
- 持久层 (24)
- struts (11)
- webservice (8)
- 虚拟机 (2)
- 光盘刻录 (0)
- AD及AD集群 (1)
- JS (33)
- F5 (0)
- loadrunner8.1 (0)
- Java 反编译工具 (2)
- DataBase (62)
- ant (1)
- 操作系统 (29)
- 我的任务 (3)
- 平台架构 (16)
- 业务规则引擎 (2)
- 模板 (1)
- EJB (5)
- spring (24)
- CMMI (1)
- 项目管理 (20)
- LDAP (13)
- JMS (10)
- JSP (19)
- JBPM (2)
- web MVC框架设计思想 (2)
- 第三方支付平台 (2)
- BUG管理工具 (1)
- 垃圾站 (2)
- php (1)
- swing (1)
- 书籍 (1)
- QQ qq (2)
- 移动互联网 (26)
- 爱听的歌曲 (0)
- hadoop (4)
- 数据库 (9)
- 设计模式 (1)
- 面试经验只谈 (1)
- 大数据 (9)
- sp (1)
- 缓存数据库 (8)
- storm (2)
- taobao (2)
- 分布式,高并发,大型互联网,负载均衡 (6)
- Apache Ignite (0)
- Docker & K8S (0)
最新评论
-
wangyudong:
新版本 Wisdom RESTClienthttps://gi ...
spring rest mvc使用RestTemplate调用 -
wangyudong:
很多API doc生成工具生成API文档需要引入第三方依赖,重 ...
spring rest mvc使用RestTemplate调用 -
zhaoshijie:
cfying 写道大侠,还是加载了两次,怎么解决啊?求。QQ: ...
spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件) -
xinglianxlxl:
对我有用,非常感谢
spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件) -
k_caesar:
多谢,学习了
利用maven的resources、filter和profile实现不同环境使用不同配置文件
关键字: svn 备份
版本控制最关键的一件事是保证数据的安全性,不能因为磁盘损坏,程序故障造成版本库无可挽回的错误,为此必须制定较完备的备份策略。
在Subversion中,我们有三种备份方式:完全备份,增量备份和同步版本库。
1. 完全备份:
最常见和简单的备份就是直接使用拷贝命令,将版本库目录拷贝到备份目录上,就可以了。但是这样不是很安全的方式,因为如果在拷贝时版本库发生变化,将会造成备份的结果不够准确,失去备份的作用,为此Subversion提供了“svnadmin hotcopy”命令,可以防止这种问题。
比如有如下版本库:
D:\svnroot
├─project1
│ ├─conf
│ ├─dav
│ ├─db
│ │ ├─revprops
│ │ ├─revs
│ │ └─transactions
│ ├─hooks
│ └─locks
└─project2
├─conf
├─dav
├─db
│ ├─revprops
│ ├─revs
│ └─transactions
├─hooks
└─locks
如果要把project1备份到D:\svnrootbackup目录下,只需要运行:svnadmin hotcopy d:\svnroot\project1 d:\ svnrootbackup \project1
PS:如果我们目录下有很多版本库,需要为每个版本库写这样一条语句备份,必须想办法优化这个过程。为此,建立以下的2个bat文件,
simplebackup.bat:
@echo 正在备份版本库%1......
@%SVN_HOME%\bin\svnadmin hotcopy %1 %BACKUP_DIRECTORY%\%2
@echo 版本库%1成功备份到了%2!
backup.bat:
echo off
rem Subversion的安装目录
set SVN_HOME="D:\Subversion"
rem 所有版本库的父目录
set SVN_ROOT=D:\svnroot
rem 备份的目录
set BACKUP_SVN_ROOT=D:\svnrootbak
set BACKUP_DIRECTORY=%BACKUP_SVN_ROOT%\%date:~0,10%
if exist %BACKUP_DIRECTORY% goto checkBack
echo 建立备份目录%BACKUP_DIRECTORY%>>%SVN_ROOT%/backup.log
mkdir %BACKUP_DIRECTORY%
rem 验证目录是否为版本库,如果是则取出名称备份
for /r %SVN_ROOT% %%I in (.) do @if exist "%%I\conf\svnserve.conf" %SVN_ROOT%\simplebackup.bat "%%~fI" %%~nI
goto end
:checkBack
echo 备份目录%BACKUP_DIRECTORY%已经存在,请清空。
goto end
:end
使用的时候,只需要修改backup.bat开头的三个路径,将两个脚本拷贝到"SVN_ROOT"下就可以了。根据以上的配置,你只需要运行backup.bat,就可以把"SVN_ROOT"下的版本库都备份到"BACKUP_SVN_ROOT"里,并且存放在备份所在的目录里。
2. 增量备份:
尽管完全备份非常简单,但是也是有代价的,当版本库非常巨大时,经常进行完全备份是不现实的,也并不必要,但是一旦版本库在备份之间发生问题,该如何呢,这里我们就用到了增量备份。
增量备份通常要与完全备份结合使用,记录着每次Subversion提交的变化,然后在需要恢复时能够回到最新的可用状态。
我们使用的是,svnadmin dump命令进行增量的备份,使用方法是:
svnadmin dump d:\sourcecode\project1 --revision 15 --incremental > d:\sourcecode\dumpfile
上面的命令实现了对修订版本15进行增量的备份,其中的输出文件dumpfile只保存了修订版本15更改的内容
恢复增量备份时,使用方法是:
svnadmin load d:\sourcecode\project1 < d:\sourcecode\dumpfile
上面的命令实现了对增量备份文件恢复到版本库project1中
使用钩子脚本Hooks实现自动增量备份:
1) 建立deltabackup.bat文件,内容为:
@echo 正在备份版本库%2......
%SVN_HOME%\bin\svnadmin dump %SVN_ROOT%\%1 --incremental --revision %2 >> %DELTA_BACKUP_SVN_ROOT%\%1.dump
@echo 版本库%2成功备份到了%3!
2) 建立post-commit.bat文件,内容为:
echo off
set SVN_HOME="C:\Program Files\Subversion"
set SVN_ROOT=D:\svnroot
set UNIX_SVN_ROOT=D:/svnroot
set DELTA_BACKUP_SVN_ROOT=D:\svnrootbak\delta
set LOG_FILE=%1\backup.log
echo backup revision %2 >> %LOG_FILE%
for /r %SVN_ROOT% %%I in (.) do if D:/svnroot/%%~nI == %1 %SVN_ROOT%\%%~nI\hooks\deltaBackup.bat %%~nI %2
goto end
:end
3) 把以上两个脚本可以直接拷贝到版本库的hooks目录下,就可以实现版本库的自动备份。
3. 同步版本库:
同步机制,可以实现一个版本库同另一个版本库的同步(但好像只是单向的),我们可以用来实现版本库的备份或镜像。
例如:同步版本库d:\sourcecode\project1
1) 新建一个空的版本库project2
运行命令:
svnadmin create d:\sourcecode\project2
2) 为新的版本库创建pre-revprop-change钩子脚本(hook script)
在d:\sourcecode\project2\hooks目录下新建一个空的pre-revprop-change.bat文件
3) 初始化版本库
运行命令:
svnsync init file:///d:/sourcecode/project2 file:///d:/sourcecode/project1
4) 同步版本库
运行命令:
svnsync sync file:///d:/sourcecode/project2
5) 至此,版本库同步已经完成。
在使用新的版本库之前,还需要根据需要对版本库的访问权限等进行配置。
使用钩子脚本Hooks实现自动同步:
1) 建立post-commit.bat文件,内容为:
echo off
set SVN_HOME="D:\Subversion"
%SVN_HOME%\bin\svnsync sync --non-interactive svn://localhost/project2
2) 把post-commit.bat文件放到版本库project1下的hooks目录下,这样project1每次提交,都会引起project2的同步
转自:http://hi.baidu.com/vb1980/blog/item/1306ee226ff370a74623e8a9.html
版本控制最关键的一件事是保证数据的安全性,不能因为磁盘损坏,程序故障造成版本库无可挽回的错误,为此必须制定较完备的备份策略。
在Subversion中,我们有三种备份方式:完全备份,增量备份和同步版本库。
1. 完全备份:
最常见和简单的备份就是直接使用拷贝命令,将版本库目录拷贝到备份目录上,就可以了。但是这样不是很安全的方式,因为如果在拷贝时版本库发生变化,将会造成备份的结果不够准确,失去备份的作用,为此Subversion提供了“svnadmin hotcopy”命令,可以防止这种问题。
比如有如下版本库:
D:\svnroot
├─project1
│ ├─conf
│ ├─dav
│ ├─db
│ │ ├─revprops
│ │ ├─revs
│ │ └─transactions
│ ├─hooks
│ └─locks
└─project2
├─conf
├─dav
├─db
│ ├─revprops
│ ├─revs
│ └─transactions
├─hooks
└─locks
如果要把project1备份到D:\svnrootbackup目录下,只需要运行:svnadmin hotcopy d:\svnroot\project1 d:\ svnrootbackup \project1
PS:如果我们目录下有很多版本库,需要为每个版本库写这样一条语句备份,必须想办法优化这个过程。为此,建立以下的2个bat文件,
simplebackup.bat:
@echo 正在备份版本库%1......
@%SVN_HOME%\bin\svnadmin hotcopy %1 %BACKUP_DIRECTORY%\%2
@echo 版本库%1成功备份到了%2!
backup.bat:
echo off
rem Subversion的安装目录
set SVN_HOME="D:\Subversion"
rem 所有版本库的父目录
set SVN_ROOT=D:\svnroot
rem 备份的目录
set BACKUP_SVN_ROOT=D:\svnrootbak
set BACKUP_DIRECTORY=%BACKUP_SVN_ROOT%\%date:~0,10%
if exist %BACKUP_DIRECTORY% goto checkBack
echo 建立备份目录%BACKUP_DIRECTORY%>>%SVN_ROOT%/backup.log
mkdir %BACKUP_DIRECTORY%
rem 验证目录是否为版本库,如果是则取出名称备份
for /r %SVN_ROOT% %%I in (.) do @if exist "%%I\conf\svnserve.conf" %SVN_ROOT%\simplebackup.bat "%%~fI" %%~nI
goto end
:checkBack
echo 备份目录%BACKUP_DIRECTORY%已经存在,请清空。
goto end
:end
使用的时候,只需要修改backup.bat开头的三个路径,将两个脚本拷贝到"SVN_ROOT"下就可以了。根据以上的配置,你只需要运行backup.bat,就可以把"SVN_ROOT"下的版本库都备份到"BACKUP_SVN_ROOT"里,并且存放在备份所在的目录里。
2. 增量备份:
尽管完全备份非常简单,但是也是有代价的,当版本库非常巨大时,经常进行完全备份是不现实的,也并不必要,但是一旦版本库在备份之间发生问题,该如何呢,这里我们就用到了增量备份。
增量备份通常要与完全备份结合使用,记录着每次Subversion提交的变化,然后在需要恢复时能够回到最新的可用状态。
我们使用的是,svnadmin dump命令进行增量的备份,使用方法是:
svnadmin dump d:\sourcecode\project1 --revision 15 --incremental > d:\sourcecode\dumpfile
上面的命令实现了对修订版本15进行增量的备份,其中的输出文件dumpfile只保存了修订版本15更改的内容
恢复增量备份时,使用方法是:
svnadmin load d:\sourcecode\project1 < d:\sourcecode\dumpfile
上面的命令实现了对增量备份文件恢复到版本库project1中
使用钩子脚本Hooks实现自动增量备份:
1) 建立deltabackup.bat文件,内容为:
@echo 正在备份版本库%2......
%SVN_HOME%\bin\svnadmin dump %SVN_ROOT%\%1 --incremental --revision %2 >> %DELTA_BACKUP_SVN_ROOT%\%1.dump
@echo 版本库%2成功备份到了%3!
2) 建立post-commit.bat文件,内容为:
echo off
set SVN_HOME="C:\Program Files\Subversion"
set SVN_ROOT=D:\svnroot
set UNIX_SVN_ROOT=D:/svnroot
set DELTA_BACKUP_SVN_ROOT=D:\svnrootbak\delta
set LOG_FILE=%1\backup.log
echo backup revision %2 >> %LOG_FILE%
for /r %SVN_ROOT% %%I in (.) do if D:/svnroot/%%~nI == %1 %SVN_ROOT%\%%~nI\hooks\deltaBackup.bat %%~nI %2
goto end
:end
3) 把以上两个脚本可以直接拷贝到版本库的hooks目录下,就可以实现版本库的自动备份。
3. 同步版本库:
同步机制,可以实现一个版本库同另一个版本库的同步(但好像只是单向的),我们可以用来实现版本库的备份或镜像。
例如:同步版本库d:\sourcecode\project1
1) 新建一个空的版本库project2
运行命令:
svnadmin create d:\sourcecode\project2
2) 为新的版本库创建pre-revprop-change钩子脚本(hook script)
在d:\sourcecode\project2\hooks目录下新建一个空的pre-revprop-change.bat文件
3) 初始化版本库
运行命令:
svnsync init file:///d:/sourcecode/project2 file:///d:/sourcecode/project1
4) 同步版本库
运行命令:
svnsync sync file:///d:/sourcecode/project2
5) 至此,版本库同步已经完成。
在使用新的版本库之前,还需要根据需要对版本库的访问权限等进行配置。
使用钩子脚本Hooks实现自动同步:
1) 建立post-commit.bat文件,内容为:
echo off
set SVN_HOME="D:\Subversion"
%SVN_HOME%\bin\svnsync sync --non-interactive svn://localhost/project2
2) 把post-commit.bat文件放到版本库project1下的hooks目录下,这样project1每次提交,都会引起project2的同步
转自:http://hi.baidu.com/vb1980/blog/item/1306ee226ff370a74623e8a9.html
发表评论
-
淘宝JAVA中间件Diamond详解(一)---简介&快速使用
2015-04-30 11:02 1088关键字:淘宝JAVA中间件Diamond详解(一)---简介& ... -
利用maven的resources、filter和profile实现不同环境使用不同配置文件
2014-07-21 14:26 56850关键字:利用maven的resources、filter和pr ... -
JIRA项目管理及跟踪工具
2014-06-26 00:36 1122参考安装实践:http://snowolf.iteye.com ... -
个性面试题积累
2011-10-15 22:09 1240关键字:个性面试题积累 一、技术题 1、下面代码会输出什么 ... -
压缩的力量(0880.jpg)
2011-04-12 13:55 997压缩的力量: 附件是:1.9GB的动画片,片长45分钟, ... -
清理svn标记快速方案
2011-04-11 13:49 1501关键字:清理svn标记快速方案 使用方法: 1、下载附件c ... -
团队组建、团队意识培养
2011-04-02 13:38 1187团队组建(与成本关系) ... -
web工程引用其他java工程解决方法
2011-03-22 23:26 10937相关解决方案: (其实相当简单):不需要在Java Bui ... -
交易平台
2011-01-03 16:12 1146附件是日常消费交易管理平台源码,请下载使用。 -
网站唯一标识(logo)
2011-01-01 23:27 1268一、制作图片(不能超过26*26) 或在这里直接制作及转换 ... -
jprofiler监控远程WAS配置详解
2010-12-25 14:28 6272一、服务器端安装WAS及jprofiler 二、查看服务器端 ... -
svn远程修改密码
2010-12-15 15:04 1165svn远程修改密码 附件是:应用程序请下载使用。 下载 ... -
VisualSVN-Server—SVN提供UI用户界面管理
2010-12-12 13:56 13367关键字:VisualSVN-Server 说明: 1、此S ... -
SVN远程修改密码策略
2010-12-12 00:36 1784关键字:SVN远程修改密码 使用说明: 1、将附件中的两个j ... -
截图工具
2010-11-11 14:47 945附件是:截图工具《IT168.com-43824FSCaptu ... -
项目管理之project
2010-11-10 22:21 1349关键字: 项目管理之project 下载相关信息: 下载地址: ... -
SVN安装配置之HTTP协议
2010-11-06 10:05 2662为彻底解决SVN客户端和服务器版本之间的不一致(公司原本使用的 ... -
CVS环境搭建
2010-11-04 15:11 1565关键字: cvs 服务器搭建参考 下面我简单叙述一下c ... -
SVN and CVS
2010-10-20 13:40 1197SVN 相关知识 首先向大家推荐一个很好的网站:http:/ ...
相关推荐
Visual SVN Server 备份工具,Visual SVN 备份工具,SVN 备份工具,按天,周,月定时备份,备份文件可加密存储,过期文件可以自动删除。Visual SVN Server 企业版才能用的定时备份任务,SvnBackupApp工具即可办到。...
在Windows环境下,Subversion(简称svn)作为一款广泛使用的版本控制系统,对于团队协作和项目管理起着至关重要的作用。...文件"svn备份与还原.txt"很可能是详细的操作步骤和指南,建议仔细阅读并按照指导进行实践。
通过以上步骤,我们已经创建了一个自动备份SVN仓库的完整流程,包括创建备份目录、筛选仓库列表、执行热备份、修改权限和清理旧备份。将其配置为计划任务后,可以确保SVN数据的安全性,即使发生意外也能快速恢复。
本文将详细解释如何配置和使用SVN自动备份,以及如何利用Windows计划任务实现定期备份。 首先,我们需要理解SVN自动备份的基本原理。这通常涉及到创建一个脚本,该脚本调用SVN的命令行工具(如`svnadmin dump`)来...
增量备份是SVN备份的一种策略,它只备份自上次备份以来发生改变的数据,从而减少备份所需的时间和存储空间。 在"SVN增量备份-附带脚本"这个主题中,我们将探讨如何使用提供的脚本来实现这一功能。 1. **dump.bat**...
### SVN增量备份脚本知识点详解 #### 一、SVN简介 Subversion(简称SVN)是一种开源的版本控制系统,用于管理源代码或文件目录树的变更。SVN通过记录每次提交的时间戳、作者和注释等元数据来追踪每个文件的历史变更...
通过创建SVN备份脚本,我们可以确保在开发过程中对代码库进行安全保护,避免数据丢失。以下将详细介绍如何实现SVN的增量备份和全量备份。 1. **全量备份** 全量备份是指获取SVN仓库中的所有文件和版本历史的完整...
在Windows环境下,对Subversion(简称svn)进行备份是非常重要的,因为这有助于保护代码库免受数据丢失的风险。本文将详细介绍如何在Windows下利用svn的自带功能进行完全备份和增量备份。 **一、完全备份** 完全...
### SVN备份操作详解 #### 一、概述 版本控制系统的核心目标之一是确保数据的安全性和可靠性。对于企业级项目管理而言,任何因硬件故障或软件错误导致的数据丢失都是无法接受的。因此,制定全面且可靠的备份策略...
1.SVN备份内容 SVN在Windows下的自动备份实现,包括: 1)SVN目录的全备份(1周或1个月备份1次,由windows计划来调度执行); 2)SVN增量备份(每日备份1次,由windows计划来调度执行)。 2. SVN备份流程 上述2类...
SVN完全备份和增量备份 近存放项目的服务器要换,所以要对SVN项目进行备份,有几个项目的版本 ... SVN备份操作
在Windows环境下,Subversion...总之,Windows下的SVN备份方案涉及多个层面,包括选择合适的备份方法、工具、策略以及定期测试。理解这些概念并根据你的具体需求定制方案,能有效保护你的源代码和项目数据免受损失。
在Windows平台上,我们可以利用SVN的命令行工具以及系统自带的任务计划程序,实现SVN仓库的自动备份。下面将详细介绍如何配置和使用SVN自动备份脚本。 1. **SVN基础** SVN的核心功能是追踪文件和目录的更改,它...
在进行svn远程备份前,首先需要建立版本库。这可以通过dos命令行方式完成。首先进入svn安装目录下的bin目录,然后输入命令svnadmin create 加上版本库路径和版本库名。比如,svnadmin create F:/svn。这会自动在指定...
增量备份是SVN备份策略的一种,它只备份自上次备份以来发生改变的数据,从而节省存储空间和备份时间。在这个"SVN增量备份脚本及MD5加密工具"中,包含了两个批处理脚本和一个MD5加密工具,旨在简化和增强SVN仓库的...
【SVN自动备份与双服务器备份策略】 ...总结,通过SVN的自动备份、双服务器备份和云存储服务的结合使用,我们可以构建一个高效且安全的SVN备份系统,确保在任何突发情况下都能迅速恢复数据,保证团队的正常开发工作。
【标题】:“SVN 自动备份” 在软件开发过程中,版本控制是至关重要的,而Subversion(SVN)作为一款广泛应用的版本控制系统,为团队协作提供了便利。SVN自动备份是指通过设定一定的脚本或工具,定期对SVN仓库进行...
svn自动增量备份 rem set logfile=svndump.log set SVN_HOME=C:\Progra~1\Subversion\bin set SVN_ADMIN="%SVN_HOME%\svnadmin.exe" set SVN_LOOK="%SVN_HOME%\svnlook.exe" set SVN_REPOROOT=e:\svn set RAR_CMD="C...
数据安全,SVN全局备份操作说明及解释,为SVN全局备份做示例