利用svnsync实现SVN同步备份 博客分类: Miscellaneous SVNsvnsync同步镜像E000022
程序员文章站
2024-03-16 23:43:58
...
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"