从subversion144开始,提供了svnsync命令,可用于Subversion的库迁移和备份,这里我们用于备份 *** 作的初始化同步。
为保证svn服务器的安全,由脚本每天定时对svn库进行备份,以保证svn库的安全性。备份仍然采用svnsync来完成。找到VisualServer Manager的快捷方式处,启动VisualServer服务器,启动后界面如图:
2
右键点击Users,填入用户名和密码。用户名设置为个人的姓名或其他的
3
创建Groups:右键点击Groups,选择Create Groups
这里是创建组的,可以设置成你的团队或公司的名称。这里我以自己的身份Student(学生)设置。之后点击Add,可以看到上述你所创建的用户名,点击用户名,点击OK完成。
4
右键Repositories,输入仓库的名称。这里你可以可以把自己的代码归类。这里我只是简单归为Java,另外我还写C/C++,可以再设置一个Cpp,这里不再演示。之后点击下一步
5
之后是配置仓库结构,这里选择的是默认,点击Next下一步即可。如果你是建立个项目的话,可以选择第二个选项
之后是配置仓库的访问权限,这里我们点击Custom
之后,点击Add
根据自己的需要,来相应的权限这里有三种权限:
Sepical :Everyone 是任何人都可以访问的
Groups: 所有在组里面的成员用户都可以访问
Users:单一的用户可以访问。
这里,我们只点击maple即可,你也可以点击你的Groups名,或Users名。之后点击OK
之后点击确认,其他默认即可了
之后,点击Create,进行仓库的创建
查看仓库名称,以及仓库的访问Url,还有相应的用户权限,如果无误,点击Finish
配置服务器的访问IP地址:
右键软件启动之后的界面,右键VisualSVN Server,并点击Properties
点击Network,并选中的These IP addresses
点击Add,并填入127001 ,点击OK完成
之后点击确定,VisualServer配置完成如果不要求增量备份的话,把服务器上存放版本库的整个文件夹复制到另一台机器就行了
如果要求增量备份的话,先在另一台机器上架设SVN服务器,创建一个空的版本库,通过svnsync init指令将此版本库和源版本库关联,然后设置一个定时任务,定时执行svnsync sync指令,实现定时将最新内容同步到另一台机器上。有个最简单的 *** 作,在 *** 作系统上做一个计划任务,在没人进行读写 *** 作的时候,比如凌晨3点,执行copy命令完成备份。备份--把整个QD文件夹复制到别的地方;还原--把备份的QD文件夹复制回来。
另外还有个办法,是用SVN的同步功能:svnsync命令,另外再架设一台SVN服务器用作备份,然后在源服务器的hooks文件夹内编辑post-commit这个钩子程序,实现每次有人执行commit *** 作的时候,就自动调用svnsync将最新的内容同步到备份服务器上。这个 *** 作相对复杂些,但是能实现增量备份。你原来的想法是不能实现的,SVN自身的同步机制svnsync中,只能对源服务器进行commit *** 作,对同步服务器只能checkout、update而不能commit的,否则会导致svnsync失败。也就是说要在多台SVN服务器之间保持数据一致的话,只能设置其中某一台服务器可写,其它服务器都必须只读。
建议你换个思路,为什么不直接将第三方公网的SVN空间作为主服务器呢?所有的checkout、update、commit *** 作都对这个serverC进行 *** 作,反正你在公司和家里都能直接访问serverC。如果出于数据安全、编译部署方面的考虑,可以将公司或家里的SVN服务器都作为备份服务器,使用svnsync方式将serverC上的内容同步到serverA或serverB,但不对直接serverA、serverB进行写 *** 作。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)