SVN备份原代码操作步骤参考
- 格式:doc
- 大小:347.50 KB
- 文档页数:6


团队里有一台SVN服务器,空间达到了几十个G,之前一直是隔段时间全盘拷贝备份,但是感觉太烦锁了,前段时间做了将这台服务器SVN的内容同步到另一台服务器上,挺好用的,总结一下,过程:操作系统:windows server 2008SVN:VisualSVN Server服务器:A表示原来代码服务器,B表示同步服务器备份服务器安装与A相同的VisualSVN Server版本1.在B上的环境变量(path)添加:C:\Program Files (x86)\VisualSVN Server\bin 添加这一步主要是为了下面用到SVN的命令不用输路径2.创建库,由于A服务器已有了很多库,所以做成了批处理文件的方式,文件内容如下:svnadmin create 盘符:/Repositories/项目库1svnadmin create 盘符:/Repositories/项目库2……项目库1、2的名称与A里的一样然后执行这个批处理文件,然后Repositories会出现很多库文件夹了……3..创建目标库的hooks文件,文件名为pre-revprop-change.bat,内容为空,先放在..\sysmodel 目录下4.将上步创建的文件拷到每个库文件夹下,跟上步一样,用批处理文件,文件内容:copy /y 本地盘符:\Repositories\sysmodel\pre-revprop-change.bat 盘符:\Repositories\项目库1\hookscopy /y 本地盘符:\Repositories\sysmodel\pre-revprop-change.bat 盘符:\Repositories\项目库2\hooks……然后执行这个批处理文件5.关联A与B里的库(初始化),还是用批处理:svnsync init file:///本地盘符:/Repositories/项目库1 项目库1的SVN路径(在A服务器上的)svnsync init file:///本地盘符:/Repositories/项目库2 项目库2的SVN路径(在A服务器上的)……然后执行这个批处理文件,这一步是将A的内容同步下来了,时间有点久……6.到上一步,B与A的内容一致了,但是如果A上某个库的项目库有更新怎么办呢?这时要用到windows里的任务计划功能了(1)新建同步库.bat的批处理,内容如下:svnsync sync file:///本地盘符:/Repositories/项目库1svnsync sync file:///本地盘符:/Repositories/项目库2……(2)新建任务计划,在计划里调用上一步建立的批处理文件。
svn备份方案SVN(Subversion)是一种版本控制系统,广泛用于软件开发和团队协作中。
为了保护和恢复代码库,在使用SVN时备份是非常重要的。
本文将介绍一种可行的SVN备份方案,以确保代码的安全性和可靠性。
一、需求分析在制定备份方案之前,我们首先需要了解备份的需求。
根据实际情况,我们需要考虑以下几方面的需求:1. 数据的完整性:备份的数据应与原始数据完全一致,不可出现数据丢失或损坏情况。
2. 备份频率:备份的频率应根据代码更新的频率来确定,以确保备份数据的时效性。
3. 存储空间:备份数据的存储空间应合理控制,避免过多的空间占用。
4. 数据恢复:备份方案应包含数据的快速恢复方式,以便在需要时能够快速恢复代码。
二、备份方案基于以上需求,我们可以采用以下的SVN备份方案:1. 定期备份:根据代码更新的频率,制定定期备份策略,例如每天、每周或每月备份一次。
可以借助计划任务、Cron或其他定时调度工具来实现自动备份。
2. 完全备份:每次备份时,将整个SVN代码库文件夹进行完全备份,确保备份数据的完整性。
3. 增量备份:为了节省存储空间,可以在首次备份后,只备份新增或修改的文件和目录,而不是全量备份整个代码库。
这样可以减少备份数据量,加快备份速度。
4. 备份存储位置:将备份数据存储在不同于原始代码库的位置,以避免单点故障。
可以选择使用本地磁盘、网络共享存储或云存储等方式,确保备份数据的安全性。
5. 数据恢复测试:定期进行数据恢复测试,验证备份数据的可用性和恢复速度。
通过测试,及时修复备份方案中的问题,确保在数据丢失时能够快速恢复。
6. 备份日志记录:对备份过程进行日志记录,包括备份时间、备份内容等信息,以便后期跟踪备份记录和查询备份历史。
三、备份方案实施在实施备份方案时,需要按照以下步骤进行:1. 确定备份方案:根据实际需求,确定合适的备份方案,包括备份频率、备份策略和存储位置等。
2. 配置备份脚本:根据选定的备份方案,编写相应的备份脚本。
备份步骤:1、备份脚本svndump.bat通过读取projectlist.conf(存放要备份的库的名称)的数据来依次对库进行备份(全部或增量)2、库首次备份时使用全部备份,且自动生成备份日志(读取log.conf文件里的说明),记录了已备份的文件名,用于后面还原时依次读取备份文件3、增量备份也会往备份日志中增加记录备注:1、需要把dump.bat,log.conf,projectlist.conf存放在备份文件存放的目录(如本例的:z:\\SVN_backup_AF.12.03)================================================================================================ projectlist.conf================================================================================================ ;**************************************************;1. test_10439; 更新频率:;**************************************************test_10439;**************************************************;2. test_back; 更新频率:;**************************************************test_back================================================================================================ log.conf================================================================================================ #QUOTE:#备份日志:#//这是一个日志文件的抬头信息,可以记录一些有意义的信息##这里是我的项目库备份日志实例##QUOTE:#备份日志:================================================================================================ svndump.bat================================================================================================ @echo on@echo ================================================@echo 说明:启动备份时,需要配置两个环境变量@echo 1、SVN_HOME 指定svn的安装目录@echo 2、RAR_CMD 指定RAR命令行压缩工具所在目录@echo 3、SVN_REPOROOT 指定项目库的根目录(多库模式)@echo 另外,如果需要异地备份,可以指定为网络映射Z盘@echo ================================================rem set logfile=svndump.logset SVN_HOME=E:\freescm\freescm\SVN\binset SVN_ADMIN=%SVN_HOME%\svnadmin.exeset SVN_LOOK=%SVN_HOME%\svnlook.exeset SVN_REPOROOT=E:\freescm\freescm\SVN\REPOset RAR_CMD="C:\Progra~1\WinRAR\WinRAR.exe"rem if not exist z:\nul net use z: \\SVN_backup_AF.12.03z:cd Z:\SVN_backup_AF.12.03rem 读取项目库列表文件,并忽略其中;开头的行FOR /f "eol=;" %%C IN (projectlist.conf) DO @call dump.bat %%C@pause========================================================================================== dump.bat==========================================================================================@ECHO onrem 调用格式:dump 项目库名if "%1"=="" goto no_argsset PROJECT=%1if not exist %PROJECT% mkdir %PROJECT%cd %PROJECT%SET LOWER=0SET UPPER=0@FOR /f %%D IN ('%SVN_LOOK% youngest %SVN_REPOROOT%\%PROJECT%') DO set UPPER=%%Dif %UPPER%==0 GOTO :N_EXITif not exist %PROJECT%_last_revision.txt GOTO :BAKUPrem 取出上次备份后的版本号,并做+1处理(注意此算法未在98系统验证)@FOR /f %%C IN (%PROJECT%_last_revision.txt) DO @set LOWER=%%C@set /a LOWER=%LOWER%+1rem 不需要备份,则跳转结束IF %LOWER% gtr %UPPER% GOTO :N_EXIT:BAKUPSET FILENAME=%PROJECT%_%LOWER%_%UPPER%@ECHO 开始备份项目库:%PROJECT%,生成文件=%FILENAME%%SVN_ADMIN% dump %SVN_REPOROOT%\%PROJECT% -r %LOWER%:head --incremental >%FILENAME%.dmp%RAR_CMD% a -df %PROJECT%_%LOWER%_%UPPER%.rar %FILENAME%.dmprem 准备写备份日志信息IF %LOWER% gtr 0 GOTO :WRITENOTEif not exist %PROJECT%_log.txt @copy ..\log.conf %PROJECT%_log.txt@ECHO #%date% >> %PROJECT%_log.txt@echo #-- 添加备份文件 >> %PROJECT%_log.txt@echo %PROJECT%_%LOWER%_%UPPER% >> %PROJECT%_log.txt@echo #从[%LOWER%]到[%UPPER%] >> %PROJECT%_log.txtGOTO :COMPLETE:WRITENOTE@ECHO #%date% >> %PROJECT%_log.txt@echo #-- 添加增量备份文件 >> %PROJECT%_log.txt@echo %PROJECT%_%LOWER%_%UPPER% >> %PROJECT%_log.txt@echo #从[%LOWER%]到[%UPPER%] >> %PROJECT%_log.txt:COMPLETErem 下面一行用于拷贝备份文件到映射的驱动器上rem copy %PROJECT%.rar z:\%PROJECT%\@echo %UPPER% > %PROJECT%_last_revision.txt :N_EXIT@echo 项目库%PROJECT%处理结束...@CD..@exit /B:no_args@ECHO ON@echo "正确调用方法: dump 项目库名"。
SVN备份原代码操作步骤参考1.删除先前备份过的缺陷代码:操作如下:右击鼠标(任意位置),选择Repo-browser:找到备份地址(http://192.168.2.97/storage/IPTV_HeBei/开发库/Java/备份/Code/IPTV_HeBei_Java_V1.02_20110509)这是本次地址,以后会有更新:直接删除前两天的备份:2.打标签3.注:∙打标签的目录必须以发布版本的标签来标示。
∙每次出版本后必须立即备份原码,如果版本原码有更新,应立即删除原先的备份,再新备份。
多屏MSAS_Java_V1.01_20110901源码备份以下是附加文档,不需要的朋友下载后删除,谢谢顶岗实习总结专题13篇第一篇:顶岗实习总结为了进一步巩固理论知识,将理论与实践有机地结合起来,按照学校的计划要求,本人进行了为期个月的顶岗实习。
这个月里的时间里,经过我个人的实践和努力学习,在同事们的指导和帮助下,对村的概况和村委会有了一定的了解,对村村委会的日常工作及内部制度有了初步的认识,同时,在与其他工作人员交谈过程中学到了许多难能可贵经验和知识。
通过这次实践,使我对村委会实务有所了解,也为我今后的顺利工作打下了良好的基础。
一、实习工作情况村是一个(此处可添加一些你实习的那个村和村委会的介绍)我到村村委会后,先了解了村的发展史以及村委会各个机构的设置情况,村委会的规模、人员数量等,做一些力所能及的工作,帮忙清理卫生,做一些后勤工作;再了解村的文化历史,认识了一些同事,村委会给我安排了一个特定的指导人;然后在村委会学习了解其他人员工作情况,实习期间我努力将自己在学校所学的理论知识向实践方面转化,尽量做到理论与实践相结合。
在实习期间我遵守了工作纪律,不迟到、不早退,认真完成领导交办的工作。
我在村委会主要是负责管理日常信件的工作,这个工作看似轻松,却是责任重大,来不得办点马虎。
一封信件没有及时收发,很有可能造成工作的失误、严重的甚至会造成巨大的经济损失。