visualsvn server备份记录

多年前怎么备份的不记得了。好像不是我备份的吧?
现在的小公司,很多同事居然还没版本的管理的习惯。想想前几天因为不熟悉git命令,错误的执行了clean,丢了几个页面,重做一次。真是感慨,胆大也要心细才好~

visualsvn server安装在某个虚拟机上。之前是打算备份整个虚拟机的。查了一下资料,VMware的备份好复杂的说,不想琢磨了(还得下载相关软件,得恢复验证)。考虑到主要的资料就是redmine,以及svn。虚拟机就简单快照好了,redmine跟svn再手动备份出来到另一块移动硬盘。虚拟机加了个分区,准备做svn的定时备份。

备份及恢复的脚本参考:https://blog.csdn.net/lnfxcf/article/details/104273156?utm_medium=distribute.pc_relevant_t0.none-task-blog-searchFromBaidu-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-searchFromBaidu-1.control

svn备份脚本

比较了网上查阅的三个备份方案,选择了svnadmin hotcopy

echo off
rem Subversion的安装目录
set SVN_HOME="E:\Program Files\VisualSVN Server"
rem 所有版本库的父目录
set SVN_ROOT=E:\Repositories
rem 备份的目录
set BACKUP_SVN_ROOT=E:\Backup
set BACKUP_DIRECTORY=%BACKUP_SVN_ROOT%\%date:~0,4%_%date:~5,2%_%date:~8,2%
if exist %BACKUP_DIRECTORY% goto checkBack
echo 建立备份目录%BACKUP_DIRECTORY%>>%SVN_ROOT%/backup.log
md %BACKUP_DIRECTORY%
rem 验证目录是否为版本库,如果是则取出名称备份
for /r %SVN_ROOT% %%I in (.) do @if exist "%%I\conf\svnserve.conf" .\simpleBackup.bat "%%~fI" %%~nI
goto end
:checkBack
echo 备份目录%BACKUP_DIRECTORY%已经存在,请清空。
goto end
:end

此处根据实际的原目录及备份目标目录稍作调整即可。在目标目录中,会创建2020-12-23这样的日期文件夹

svn恢复脚本

echo off
rem Subversion的安装目录
set SVN_HOME="C:\Program Files\VisualSVN Server"
rem 所有版本库的父目录
set SVN_ROOT=D:\Repositories
rem 备份的目录
set BACKUP_SVN_ROOT=D:\data\Repositories
rem 验证目录是否为版本库,如果是则取出名称备份
for /d %%I in (%BACKUP_SVN_ROOT%\*) do .\simpleRecover.bat "%%~fI" %%~nI
goto end
:end

用户权限

以上博文未提到用户权限的备份,实际仅备份库文件,users是空的。查阅了这篇:https://www.jianshu.com/p/e2bc620c4ef5。文章谈到,备份库目录下的这三个文件即可。
用户权限
我最早把库目录设置在C盘,由于虚拟机空间分配不足,后来增加了磁盘空间,移到了E分区。发现新的库目录下,居然少了VisualSVN-GlobalWinAuthz.ini。我把原来的VisualSVN-GlobalWinAuthz.ini拷贝到E分区下的库目录,备份出来,再切换目录验证,不成功。users还是空的。
尝试切换到原库目录,从users下导出列表为*.txt。把这个txt文件放到库目录同级下,重启visualsvn server,用户列表以及权限,都正常了。
至此解决了权限备份的问题。

svn定时备份

增量备份策略采取每日晚上9点运行一次。在os中创建计划脚本运行。
全备份策略采取每周五晚9点运行一次。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目的: 1、 在192.16.21.70上面配置SVN服务器(简称服务器A); 2、 定时将服务器A上面的程序自动备份到192.16.21.82服务器上(该服务器简称服务器B); 3、 服务器工具软件采用“VisualSVN Server Manager VisualSVN Ltd. 版本: 2.1.10”; 4、 服务器使用的操作系统均是Windows2003 Server; 配置服务器A: 步骤一:安装VisualSVN Server Manger软件,软件安装在D:\Program Files\VisualSVN Server\,库文件配置在” E:\Repositories\ “; 步骤二:创建用户和创建库文件 配置服务器B: 步骤一:安装VisualSVN Server Manger软件,软件安装在D:\Program Files\VisualSVN Server\,库文件配置在” E:\Repositories\ “; 步骤二:创建用户和创建K1_SVN_BAK库文件 步骤三、创建“pre-revprop-change.bat”文件:在“E:\Repositories\k1_svn_bak\hooks”目录下创建文件“pre-revprop-change.bat”,内容如下: @echo off exit 0; 步骤四、修改文件:修改pre-revprop-change.tmpl文件,用记事本打开该文件,把文件最后的exit 1改为exit 0 步骤五、同步初始化 在备份服务器B上,打开命令提示符窗口,将目录进入到如下:“D:\Program Files\VisualSVN Server\bin>”,在此目录下运行如下命令 svnsync init file:///e:/Repositories/k1_svn_bak https://192.16.21.70/svn/K1_SVN 步骤六、实现同步: 在备份服务器B上,打开命令提示符窗口,将目录进入到如下:“D:\Program Files\VisualSVN Server\bin>”,在此目录下运行如下命令: Svnsync sync file:///e:/Repositories/K1_SVN_BAK (如果提示输入用户名和密码,你可以在这个命令之后加上 username 、password参数 即svnsync sync file:///D:/Repositories/test1BackUp --username username --password password) 步骤七、实现定时备份 在“D:\Program Files\VisualSVN Server\bin”下创建一个*.bat文件,例如Autobat.bat文件,文件内容为如下: svnsync sync file:///e:/Repositories/k1_svn_bak 然后通过Windows自带的任务计划,创建定时任务即可。 如果版本库较大时,备份的时间会有点慢,花费几个小时或者一天也是有可能的,

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值