今天是第一次到公司上班,因为公司的的协同工作是使用SVN进行的,而且之前因为没有做备份服务器,所以正好今天我入职,老板直接就给我安排了这个任务,因为之前没有做过这个,所以在完成备份的时候遇到了挺多问题,可能也会有跟我遇到相同问题的人,所以特地在简书上记载一下自己使用SVN配置备份服务器的过程。
使用SVN配置备份有三种方式,今天我就介绍我使用的一种当时:使用svnsync进行备份
需求:将远端服务器的SVN库备份到本机上来,并且设置一个时间让它自动备份
假设:源服务器URL:https://15922512/svn/aa , 本机服务器中库的URL:https://ssss/svn/bb
配置步骤:
1-在本机安装SVN服务器,创建好相应的库(你需要备份多少个库则在本机的SVN服务器上创建多少个空的库--(注意空的库里面什么也没有,连文件夹也没人),本次作为演示只备份一个库)
2-找到刚创建好的库(URL:https://ssss/svn/bb))的hooks文件夹,它的位置是放在你安装SVN服务器时默认的位置(文件名称是:Resposities) ,添加一个pre-revprop-change.bat文件,该文件的只有一句话既:exit 0
3-进入控制台(windows+R),输入:svnsync init https://ssss/svn/bb(本机刚创建的库URL) https://15922512/svn/aa(源服务器上你需要备份的库URL),运行
4-输入:svnsync sync https://ssss/svn/bb(本机刚创建的库)
5-完成备份,可直接查看本地SVN服务器的库是否跟源服务器的库一致
二:在进行备份的时候遇到的小问题
1-没有在本机库(既存放备份的SVN库)添加pre-revprop-change.bat文件,运行时会提示错误
2-运行过程中出现提示:Error lock....的问题,是因为源服务器在进行与备份服务器进行备份的时候会进行加锁,如果备份成功则自动释放,如果备份不成功则不释放锁,再进行备份的时候回一直提示这个错误。 解决方法:进入控制台(win+R),运行:svn propdel svn:sync-lock --revprop -r 0 出错库的URL如https://ssss/svn/bb
3-如果你需要同时备份多个库:则可以将多个备份命令写在一个记事本中,然后改成后缀名为.bat的文件,一次性执行即可(注意:每个备份的库中的hooks文件夹都需要加入pre-revprop-change.bat文件,不然会出错)
4-运行bat文件windows系统会默认弹出一个窗口,如果不想让他弹出窗口,点击了在后台执行的话,将命令文件改成为.bat文件,再创建一个记事本,再记事本中加入:createobject ("wscript.shell").run "这里填写你脚本既.bat文件的绝对路径",0,然后将记事本的后缀名改为.vbs即可
5-注意:除了第一次备份需要使用svnsync init命令,其他的都不需要 如第一次备份:svnsync init https://ssss/svn/bb(本机刚创建的库) https://15922512/svn/aa(源服务器上你需要备份的库), svnsync sync https://ssss/svn/bb(本机刚创建的库)
第二次备份(直接执行以下语句即可,既如果你想开启一个让电脑定时备份的程序的话,在记事本加入该句代码即可): svnsync sync https://ssss/svn/bb(本机刚创建的库)
6-电脑自动定时备份:进入控制面板---》管理工具---》任务计划程序---》创建任务---》创建触发器(指定你要执行的脚本文件) 即可
后言:本人第一次写简书记录问题,所以可能存在许多不足,如果发现问题,希望大家能指出,谢谢!
网友评论