首页 > 软件 > svn安装备份完全解决方案

svn安装备份完全解决方案

2009年9月19日 闫鹏 发表评论 阅读评论

本文解决svn的安装,apache的搭建,svn库的自动化网络备份问题。因为自己用的是ubuntu,就只介绍ubuntu的啦。

安装搭建部分:

1.先安装apache,配合阅读svn用,并且平时开发时候也是要经常用到的,所以就一起安装了

sudo apt-get install apache2

2.再安装svn与svn中apache的库

sudo apt-get install subversion

sudo apt-get install libapache2-svn

3.创建项目仓库,我的例子是micolog:

sudo mkdir /svnroot

sudo chmod a+r /svnroot

svnadmin create /svnroot/micolog

sudo chmod –R a+rwx /svnroot/micolog

4.因为是在自己的个人pc上面,就配置简单一些,不设置密码。修改配置文件/svnroot/micolog/conf/svnserve.conf在[general]中加入auth-access = write

5.配置svn服务随系统启动

创建/etc/init.d/svnserve文件,文件中包含如下内容:

#!/bin/sh

/usr/bin/svnserve -d -r /svnroot/

执行

sudo chmod a+x /etc/init.d/svnserve

在启动阶段2中启动,具体配置方法为运行命令:

cd /etc/rc2.d

sudo ln –s /etc/init.d/svnserve S92svnserve

这样,svn就会随系统在开机时候启动啦。可以自己手动运行一下立即启动,将项目导入到svn库中使用svn import命令,这里就不再赘述了

6.配置apache

执行下面的命令,配置apache启动时加载dav模块

cd /etc/apache2/mods-enabled

sudo ln –s ../mods-available/dav.load dav.load

sudo ln –s ../mods-available/dav_svn.conf dav_svn.conf

sudo ln –s ../mods-available/dav_svn.load dav_svn.load

编辑文件/etc/apache2/sites-available/default,在虚拟主机中,加入如下内容

 

DAV svn

SVNPath /svnroot/micolog

 

执行

sudo /usr/sbin/apache2ctl restart

就可以在http://localhost/micolog访问svn库了,编辑一下/var/www/index.html文件,加上个链接,可以使自己方便些。

因为这个实在几个月之前装系统时候搞的了,自己记得也不是很清楚了,有错误的话,就留言问我吧:p

自动网络备份:

在你的home文件夹(输入cd回车就进入了)中建立cron目录,建立一个svnbackup.sh文件,内容如下:

#!/bin/sh

projects=”micolog redirecter”
svnroot=”/svnroot”
backdir=”/home/yanp/Dropbox/code/svnbackup”

date=`date +%Y%m%d`

for project in $projects
do
/usr/bin/svnadmin dump $svnroot/$project > $backdir/${project}_$date
done

其中projects里面可以配置你的多个工程。

执行crontab -e,输入如下内容:

0 22 * * 6 (cd /home/yanp/cron && /home/yanp/cron/svnbackup.sh)

/home/yanp/cron/是home文件夹的路径,记得添加时候修改。

dropbox是一个跨平台的,多pc自动同步文件软件,在国内的下载速度可以达到500kB以上(公司的网络比较快哈,在家里用,一般就是133kB),十分强大。就用它来备份svn库再好不过了。注册账号下载软件

这样就全都搞好了,每周六的22点就会自动帮你备份好svn,dropbox也会帮你把svn库传到你的账号中存好。如果你在自己的多台电脑上都安装了dropbox,每台电脑都会自动拥有svn备份数据(dropbox网络上也有一份)。想修改备份的时间,请参考crontab

您可能会喜欢:

  1. ubuntu下安装python2.5.4支持ssl
  2. Opentest测试框架
  3. 分层次管理tag文件
分类: 软件 标签:

  1. 2009年9月21日03:34 | #1

    目前我还没用上!

  2. 2009年9月22日02:44 | #2

    大家出来 的和google上的一样吗?

  3. 2009年9月22日04:06 | #3

    @houkai

    大家出来 的和google上的一样吗?

    没明白

  4. 2009年9月22日05:31 | #4

    哦 现在错字太多了
    google code上面不是也有版本控制。另一个较出名的是sourceforge.net。
    我的意思google code的版本控制和你搭建的svn相似吗?或者说是一个东西吗?

  5. 2009年9月22日05:46 | #5

    google code上面也有svn的方式,看它那个整体的配套情况,比自己搭建svn还要好一些。但是那个上面必须是开源的代码

  1. 本文目前尚无任何 trackbacks 和 pingbacks.