#1 安装
yum install subversion -y
#2 查看版本
svnserve --version
#3 创建版本
mkdir /u02/svn -p
svnadmin create /u02/svn/fastweb
#4 配置权限、口令、服务配置文件
cd /u02/svn/fastweb/conf/
##4.1 配置权限
vi authz
[groups]
admin = yeqing
[/]
*=r
@admin=rw
##4.2 配置用户名口令
[users]
yeqing = 123456
##4.3 配置SVN配置文件
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = fastweb
[sasl]
#5 重启svn服务
lsof -i :3690
pkill svn
svnserve -d -r /u02/svn
netstat -lntup|grep svn
#6 导入文件源
svn import /server/scripts file:///u02/svn/fastweb -m 'test'
#7 客户端
svn://192.168.1.168/fastweb
账号:yeqing
密码: 123456
#8 加入自启动
echo 'svnserve -d -r /u02/svn' >> /etc/rc.local
#9 备份版本
svnadmin --help|grep dump
svnadmin dump /u02/svn/fastweb/ > /tmp/fastweb_$(date +%F).backup
#10 将备份版本导入新版本
svnadmin load /u02/svn/yeqing < /tmp/fastweb_$(date +%F).backup
#11 将版本中的数据更新到目录
mkdir /application/data/test -p
/usr/bin/svn checkout svn://192.168.1.168/fastweb /application/data/test (第一次)
/usr/bin/svn update /application/data/test/
#12 钩子(原理:每次commit,触发post-commit脚本
)
cd /u02/svn/fastweb/hooks/
vi post-commit
#!/bin/bash
export.UTF-8
svn=/usr/bin/svn
svnRsync=/yeqing
rsync=/usr/bin/rsync
exclude=/data/rsyncLog/exclude.list
for svnDir in `svnlook dirs-changed/u02/svn/wmanhua/`
do
${svn}update ${svnRsync} --username=yeqing--password=123456
done
if [ $? == 0 ]
then
rsync -avz -e 'ssh -p22' /yeqing root@10.205.12.252:/data
fi
chmod 700 post-commit
本文转自cloves 51CTO博客,原文链接:http://blog.51cto.com/yeqing/1598751