服务器svn自动同步,svn主备服务器实时同步
目标:
将之前主库上的SVN数据迁移到VisualSVN上,然后在实现版本库的远程自动备份, 版本库备份到另一台机器上。
整体思路:
步骤1
VisualSVN服务器端安装
(版本不同安装方式基本相同)双击VisualSVN-Server-2.5.12.msi,然后点击“Next”下一步;
image.png
点击“Next”下一步
image.png
选择第一个,点击“Next”下一步
image.png
Location是VisualSVN Server安装路径,Repositories是版本库路径,port指定端口,
Use secure connection:是否用https安全连接;如果不改,点击“Next”下一步;
image.png
点击“install”继续安装
image.png
点击“Finish”安装完成
image.png
VisualSVN主备配置:
主库服务器:(IP:192.168.20.49)
1.首先将之前SVN版本库目录下的文件COPY到VisualSVN版本库C:\Repositories\目录下,刷新VisualSVN就可以看到;
image.png
2.添加用户,设置权限:
image.png
image.png
备份服务器:(IP: 192.168.20.50)
3.创建一个新的空库
image.png
4.创建用户,设置权限,与主库一致:
image.png
5.编辑pre-revprop-change文件,增加内容:
echo "Changing revision properties other than svn:log is prohibited" >&2
exit 0
image.png
这个文件存放路径:C:\Repositories\back_svn\hooks
image.png
6.用命令进行初始化:
初始化
svnsync init https://192.168.20.50:8443/svn/cehsi https://192.168.20.49:8443/svn/cehsi --username svnbak --password svnbak
如果新的库不为空 允许非空库同步(针对同步的备库不为空时使用) 请在init 后添加--allow-non-empty
svnsync init --allow-non-empty https://192.168.20.218:8443/svn/ahzj https://192.168.20.211:8443/svn/ahzj --username svnbak --password svnbak
https 需要认证 选择
image.png
image.png
https://192.168.20.50:8443/svn/cehsi → 为备份库的地址 (视实际库路径而定)
https://192.168.20.49:8443/svn/cehsi → 为主库的ChekOut路径(视实际端口号而定)
如果不输入--username svn_back --password 111111,命令执行时会提示输入用户名密码,这时将之前创建的用户svn_back及密码输入
image.png
7.开始同步数据:
同步
svnsync sync https://192.168.20.50:8443/svn/cehsi --username svnbak --password svnbak
image.png
8.同步成功后,在回到主库编辑post-commit文件,实现事实提交同步;
编辑内容:
echo off
set SVN_HOME="D:\Program Files\VisualSVN Server"
%SVN_HOME%\bin\svnsync sync https://192.168.20.50:8443/svn/cehsi --config-dir "D:\Repositories\Config" --source-username svnbak --source-password svnbak --sync-username svnbak --sync-password svnbak
image.png
配置结束,以后每次commit时,数据都会备份到备份库中。
备份机器 手动bat
备机bat同步
d:
svnsync sync https://192.168.20.50:8443/svn/cehsi --username svnbak --password svnbak
经常遇到的问题
认证失败
D:\Program Files\VisualSVN Server\bin>svnsync sync https://192.168.20.50/svn/cehsi --config-dir "D:\Repositories\Config"
参考文档
报错svnsync: E175013: Access to '/svn/hyykt' forbidden
C:\Users\Administrator>svnsync init https://192.168.20.49:8443/svn/hyykt https://192.168.50.211:8443/svn/hyykt --username svnbak --password svnbak
svnsync: E170013: Unable to connect to a repository at URL 'https://192.168.50.211:8443/svn/hyykt'
svnsync: E175013: Access to '/svn/hyykt' forbidden
主服务器没有读写权限 设置权限即可
svnsync sync https://192.168.20.50:8443/svn/cehsi --config-dir "D:\Repositories\Config"
或者是 并没有给予这个项目,这个用户权限
image.png
image.png
报错
svnsync: E175008: While handling the 'svn:sync-lock' property on '/svn/hyykt/!svn/bln/0':
svnsync: E175008: Repository has not been enabled to accept revision propchanges;
ask the administrator to create a pre-revprop-change hook
解决方案:
在hooks pre-revprop-change内填写如下内容
echo "Changing revision properties other than svn:log is prohibited" >&2
exit 0
报错 'svnsync' 不是内部或外部命令,也不是可运行的程序
image.png
解决方案,进入svn安装路径的bin目录 cd C:\Program Files (x86)\VisualSVN Server\bin 再次运行即可
image.png
报错
svnsync: E000022: Destination repository already contains revision history; cons
ider using --allow-non-empty if the repository's revisions are known to mirror t
heir respective revisions in the source repository
允许非空库同步(针对同步的备库不为空时使用)
svnsync init --allow-non-empty https://192.168.20.218:8443/svn/ahzj https://192.168.20.211:8443/svn/ahzj --username svnbak --password svnbak
添加 --allow-non-empty 即可
image.png
备注 Copied properties for revision 22187
表示已同步至 22187版本 开始同步即可进行下一步
image.png
报错svnsync: E000022: Couldn't get lock on destination repos after 10 attempts
报错如图
解决方法
svn propdel svn:sync-lock --revprop-r0 https://192.168.20.218:8443/svn/truckCardPlatforms
解决后 进行初始化同步
svnsync init --allow-non-empty https://192.168.20.218:8443/svn/truckCardPlatforms https://192.168.20.211:8443/svn/truckCardPlatforms --username svnbak --password svnbak
Copied properties for revision 29610.
image.png
然后再同步即可
image.png
服务器svn自动同步,svn主备服务器实时同步相关推荐
- Symantec Backup Exec 2014 备份Exchange 2013之二安装主备服务器
安装BE 2014的系统要求如下: 操作系统 不能在运行 Windows Server 2008/2012 的 Windows Server Core 安装选项的计算机上安Backup Exec 服务 ...
- 图文:Linux-DNS主备服务器搭建(高可用)
DNS主服务器(master):192.168.127.147 从服务器(slave):192.168.127.148 1.首先在master和slave上安装DNS包: 2.编辑master上的DN ...
- 服务器 系统顺利切换 报道,一种实现主备服务器切换的方法及系统
1.一种实现主备服务器切换的系统,其特征在于,至少包括网关,主交换机和备用交换机,与主交换机相连接的一个或一个以上主服务器,与备用交换机相连接的.与各主服务器分别完全镜像的一个或一个以上备用服务器: ...
- rsync远程同步及结合inotify实现实时同步
rsync远程同步及结合inotify实现实时同步 rsync 命令格式 常用选项 实现免交互 rsync同步配置 环境准备 同步源编写rsync配置文件 创建数据文件 确保读取权限 开启服务 sla ...
- python本地发布到服务器_使用pycharm在本地开发并实时同步到服务器
本教程使用的是python 3 和django为事例 打开pycharm file -> new project... -> 弹出窗口 点击django location就是 ...
- oracle主备机密码文件不同步,oracle主备同步问题
oracle主备同步 问题描述 ZABBIX近段时间某地区的DB备库同步异常,在后台查询主备是同步的 zabbix监控主备同步的语句为select round((sysdate-controlfile ...
- linux 高并发文件实时同步,Linux海量数据高并发实时同步架构方案杂谈
不论是Redhat还是CentOS系统,除去从CDN缓存或者数据库优化.动静分离等方面来说,在架构层面上,实 现海量数据高并发实时同步访问概括起来大概可以从以下几个方面去入手,当然NFS的存储也可以是 ...
- Mysql同步到tidb,MYSQL5.7实时同步数据到TiDB
在线QQ客服:1922638 专业的SQL Server.MySQL数据库同步软件 操作系统:CentOS7 mysql版本:5.7 TiDB版本:2.0.0 同步方法:使用TiDB提供的工具集进行同 ...
- 继保系统有主备服务器吗,解剖变电站丨智能变电站的三层两网的结构!
根据上述思想,国内智能站采用较多的是三层两网的结构. 1.三层 智能变电站自动化系统站控层设备包括:监控主机.数据通信网关.数据服务器.综合应用服务器.操作员站.工程师工作站.PMU数据集中器和计划管 ...
- cx_oracle主备服务器,怎么在Python中使用cx_Oracle模块对Oracle数据库进行操作
怎么在Python中使用cx_Oracle模块对Oracle数据库进行操作 发布时间:2021-03-17 16:32:34 来源:亿速云 阅读:67 作者:Leah 本篇文章为大家展示了怎么在Pyt ...
最新文章
- 如何实现对tcl脚本的类GDB调试
- Vue3中遇到问题:PostCSS plugin tailwindcss requires PostCSS 8 解决方案
- 互联网日报 | 6月15日 星期二 | 凯撒旅业拟换股吸并众信旅游;爱回收预计6月18日登陆纽交所;顺丰航空机队规模增至66架...
- android studio 设置自动编译_Appium Mac系统 自动测试环境搭建
- C#LeetCode刷题之#643-子数组最大平均数 I( Maximum Average Subarray I)
- Kibana图形、报表分析
- Python网络编程【客户端与服务器通信】
- 好玩的Deep Dream模型
- 回顾展望:杀毒软件的“前世今生”
- 用计算机弹奏的成都,抖音成都怎么用计算器弹奏_抖音成都计算器乐谱_管理资源吧...
- 微信公众号自定义菜单创建
- Token系列 - 加密猫智能合约源码分析
- 图的深度(DFS)/广度优先搜索算法(BFS)/Dijkstra
- 目前Java开发人员需求大吗 Java就业方向是什么
- 树的先序/中序/后序遍历
- JAVA中String、StringBuffer和StringBuider类
- 微信小程序:Picker-View与Picker-View-column的使用
- 在知网下载时只能caj,不能pdf
- 【北亚数据恢复】误操作分区损坏导致SqlServer数据库数据丢失的数据恢复案例
- 李开复写给中国大学生的七封信【3/7】