Linux下SVN安装|备份|还原|钩子

本文详细介绍如何使用yum安装Subversion(SVN),验证版本,创建版本库,以及通过svnserve启动服务。此外,还提供了两种备份与还原SVN版本库的方法,包括官方推荐的dump方式和hotcopy方式。最后,介绍了如何设置post-commit钩子实现SVN仓库与本地文件的自动同步。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SVN 安装

yum install subversion -y

验证版本

svn --version

新建版本库

## 创建SVN 版本库根目录
mkdir –p /opt/svn/repository

## 进入目录,创建实际的版本库
cd /opt/svn/
svnadmin create repository

启动

svnserve -d -r /opt/svn
#-r 添加 repository的根目录
#-d 让SVN以deamon的形式运行

SVN 备份与还原

SVN备份有三种方式,我这里只推荐前2种

svnadmin dump

官方推荐的备份方式。可以结合bzip2 备份的同时压缩

#优点:可全量也可增量备份,方式比较灵活。并提供对应的恢复机制
#缺点:当版本库很大的时候,这种备份方式超级耗时,恢复也很耗时,不利于紧急的灾难恢复
#备份
svnadmin dump /opt/svn/repository |bzip2 > /tmp/svnbackup-`date +"%Y%m%d"`.bz2
#还原
bunzip2 svnbackup-`date +"%Y%m%d"`.bz2 
svnadmin load /opt/svn/repository < /tmp/svnbackup-`date +"%Y%m%d"`
svnadmin hotcopy
#优点:备份和恢复的过程相对较快
#缺点:只能全量copy,此外比较耗费硬盘
#备份
svnadmin hotcopy /opt/svn/repository /tmp/svnbackup-`date +"%Y%m%d"`
#还原
svnadmin hotcopy /tmp/svnbackup-`date +"%Y%m%d"` /opt/svn/repository
post-commit 同步

为了方便开发,post-commit来同步svn仓库与php根目录文件

#cd到svn项目路径下的hooks下
 cd /data/svn/test/hooks/ 
 cp post-commit.tmpl post-commit
 chmod 777 post-commit
 vim post-commit

在下面添加

cd /data/php(代码目录) && /usr/bin/svn update --username 账号--password 密码
#注释下面行
#mailer.py commit "$REPOS" "$REV" /path/to/mailer.conf

在本地用totorizeSVN提交一下文件,看看是不是实时的与php的文件同步了呢,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值