利用svnsync实现SVN同步备份

1. 在备份SVN服务器上建立版本库

   svnadmin create test

2. 创建pre-revprop-change文件

    cd test/hooks/

    cp pre-revprop-change.tmpl pre-revprop-change

    chmod 755 pre-revprop-change

3. 修改pre-revprop-change文件

    vim pre-revprop-change

    将exit 1改为exit 0

4. 初始化

    svnsync init file:///var/svn/repositories/test/ http://172.17.193.117:8000/svn/test/

5. 同步

    svnsync sync file:///var/svn/repositories/test/ --username admin --password hellococo

同步出错E000022: Failed to get lock on destination repos解决办法

svn propdel svn:sync-lock --revprop -r 0 file:///var/svn/repositories/test/

可以先连接一下目标SVN,把密码保存下来,这样就不用指定密码了,更安全。

利用crontab定时同步SVN, 运行crontab -e,添加如下内容:

0 1 * * * /sync.sh > /sync.log

#!/bin/sh

echo "$(date '+%m-%d-%Y %H:%M:%S') begin sync"
svn propdel svn:sync-lock --revprop -r 0 file:///home/svn/repositories/test/
svnsync sync file:///home/svn/repositories/test/ --username admin
echo "$(date '+%m-%d-%Y %H:%M:%S') end sync"

猜你喜欢

转载自billben.iteye.com/blog/2142706