svn服务器设置主备同步

故事的场景是这样地,假设你已经有1台svn服务器,用于日常提供开发同学使用,突然有一天,你闲来无事,几杯小酒下肚,不知怎么突发想到如果有一天你维护的这台svn坏了,有什么影响,这一想不要紧,马上吓得出一身冷汗,酒也醒了一半,感觉就如同末日来临一般: 早上到公司,你电脑屏幕跳出至少50个IM窗口,基本都是一句话:“是不是咱们svn挂了?”,然后你看到负责开发的领导走到你领导办公室,不一会你的领导出来,走到你的工位,根本不顾你在忙些什么,直接打断你说:”小X呀,咱们svn是不是有问题了,别着急,慢慢来,先定位问题,然后解决,现在是好多人在等着,但不要慌张,多年你一直负责这个服务器管理,公司就你最熟悉了,考验你的时候到了,要挺住……@@#$%$#@,……..”,,领导一边说着,一边心里想着:”你小子净跟我闯祸,平时是怎么维护的,不知道这很严重吗,赶紧整好,否则,嘿嘿,你等着“。当然另一旁的你还要迎合着,面带微笑不停点头,事实上你根本不知道他再说什么,心里只想发出揭斯底里的呐喊:能不能不打扰LZ干活,定位个毛呀,拜托你快把废话讲完。“你想到这,你酒已基本全醒了,我擦,这大坑可不能把我陷进去,我可是个负责人的人,说完整了整自己的红领巾,废话不多说,赶紧搭备机,有问题,一键切换,继续我的小酒小肉,故事就讲到这里,接下来我们言归正传。

上段之所以废如此笔墨,除了戏剧性的描述下背景外,主要我们作为一名合格的系统管理员要加强风险意识,对出现的单点故障要做到100%避免,能做HA的做HA,做不了的核心数据至少要进行冷备,尤其是数据库,能做主从一定要做,其他的也不多讲了,今天主要是来说下我们的svn备份,svn基本每个公司都用,现在git大家逐渐用的多起来了,但svn相信也不少公司还仍在使用(换平台岂是儿戏),而且大部分是在存储公司代码,都是非常核心的,所以作为管理员,做好备份是自己职责所在,下面我们开始讲解具体操作:

开始前准备,假设你主svn是A,备份机器是B,刚安装好系统,下面我一步一步操作,看如何完成主从备份:

B机操作,安装svn:

1、建立工程,目录和工程名称跟主机一致:

这时在/home/svn/projectname/下应该有建立好的初始化文件,像:conf,db等目录。

2、拷贝A机上的projectname/conf下文件到B机的conf目录下,即:/home/svn/projectname/conf/,拷贝之前可以先将备机的conf目录下的文件进行备份(个人习惯问题)。

3、在B机上操作:

4、A机操作:

 

到此操作完,在操作过程中要注意几点:

1、防火墙两台机器要互通。

2、设置的用户(命令行中的user用户)要有对库的最高权限(非必须),具备读写权限。

3、svnlook youngest /home/svn/projectname  同步后查看两边的更新。

4、在主库上建立文件,再登录备库进行查看结果,如果同步成功,表示搭建完全正确。