应用环境:在北京的svn服务器提供代码归档服务为开发和本地的持续集成编译测试环境,成都开发人员每个人都需要***连接并且不稳定。后来成都部署了本地持续集成环境换取代码,从北京同步完全不现实。触使了成都本地同步北京代码的必要性。

实现方式:

1.首先想到的是使用svn的镜像同步工具来同步即svnsync。但是通过这个方式同步数据,第一同步时不能有代码的提交,同步起来速度比较慢。后续同步(使用hook用北京的提交触同步命令)也很容易出现文件被锁的情况。

2.第二种方式使用linux的rsync的工具同步北京svn服务器的代码根目录到成都,建立起成都的svn服务设置访问目录就实现了完美同步,包括权限的等等,而且所以的数据都完全一直,同步速度也很不错。只要解决了成都svn服务器的***连接就可以稳定的运用。

ps:这种方式同步后的成都svn服务。完全和北京保持一直,本地的变动也会在下次的同被北京数据覆盖,所以运用的为成都的Teamcity的自动化环境获取代码也完美解决的,如果开发人员的获取提交想要在本地提交成都同步到北京还需要做一下两地的同步目录的相互同步。

3.解决两地同步的***网络问题实现***宕机的自动连接,就要写一个自动的连接脚本。首先***帐号密码由专门的人员管理,开发和运维是没有***的拨号密码的,所以就涉及到了脚本的加密。

操作过程:

1.配置成都svn服务器的和北京svn服务器的网络互通,cisco的***,linux服务拨号使用***c这个工具s#!/bin/bash

if [ `id -u` -ne 0 ];then

echo "please use root user"

exit

fi

×××=`ifconfig | grep tun

echo $×××

if [ -z "$×××" ]

then

cd /home/sh

./***c.sh

while [ 1 ]

do

Route=`route | grep 192.168.17.0`

if [ -n "$Route" ]

then

route add -net 192.168.17.0 netmask 255.255.255.0 gw 192.168.21.1

break

fi

done

else

echo $××× >/dev/null

fi

调用的启动脚本***c.sh#!/usr/bin/expect

set timeout 15

spawn ***c --enable-1des

expect {

"Enter IPSec gateway address:" { exp_send "x.xxx.xxx.xx\r";exp_continue }

"Enter IPSec ID for*" { exp_send "***4000\r";exp_continue }

"Enter IPSec secret for*" { exp_send "cisco\r";exp_continue }

"Enter username for*" { exp_send "chengdu38\r";exp_continue}

"Enter password for*" { exp_send "passwd\r"}

}

interact

#expect eof

到现在实现了***的自动连接。

加密shell脚本的方式有提供两种

第一是linux系统自带的gzexe

第二是shc的二进制编译

都可以实现shell中的明文密码ip等信息的不可见。

2.自动同步的操作

有一遍文章很详细的介绍了同步过程

svn异地同步 linux,svn库两地开发之代码数据的同步包括***连接的全套解决方案相关推荐

  1. Linux MySQL主主复制(Replication)(MySQL数据双向同步)配置

    http://www.centos.bz/2011/07/linux-mysql-replication-two-way-sync/#配置当前从服务器 Linux MySQL主主复制(Replicat ...

  2. 易语言mysql数据同步程序_易语言mssql和mysql数据自动同步源码

    易语言mssql和mysql数据自动同步源码 易语言mssql和mysql数据自动同步源码 系统结构:RefreshTask,ComputeEndTime,ComputeOneTime,Compute ...

  3. linux svn启动失败,linux svn authorization failed错误

    找了半天错误原因 authorization failed错误主要是conf/auth文件配置错误,可以参考如下配置: ### This file is an example authorizatio ...

  4. linux svn官网,linux svn

    一 建立仓库,配置svn 在Linux系统中搭建svn服务所需要用到的软件叫做subversion,可以通过yum来进行安装,如图 image 安装好软件后第一件事就是创建一个仓库目录 [root@s ...

  5. linux svn 自动发布,linux svn tomcat maven 自动发布打包

    1:首先确定了LINUX上已安装SVN MAVEN 2: 把SVN项目CHECKOUT到LINUX服务器 svn checkout svn://172.17.210.82:9999/xxx --use ...

  6. linux svn配置教程,linux svn搭建及配置

    1. 检测svn是否安装 rpm -qa subversion   #检查现有版本,如果输入命令后没有提示的话,表明没有安装 yum remove subversion  #如果有安装,可以通过该命令 ...

  7. svn服务器端下载linux,Svn linux服务端安装及配置

    Svn服务端安装及配置 安装centos7 用vmware虚拟机安装 关闭selinux防火墙 vim /etc/selinux/config 将SELINUX的值设置为disabled 如果不关,日 ...

  8. 火狐中国区linux无法同步,解决Linux和Windows平台下的Firefox数据不同步问题

    解决方法:重装 重装听起来很暴力,很厌恶,但其实操作并不难. 我用的是kali Linux,默认系统安装的是Firefox-esr,用的是国际服务器,和国内服务器的Firefox数据不同步 基于刚安装 ...

  9. mysql换服务器后数据同步_mysql配置主从,主服务器之前的数据可不可以同步过来...

    Slave_SQL_Running: No mysql同步故障解决 如果数据不同步可以尝试该资料 mysql> show slave status\G Slave_IO_Running: Yes ...

最新文章

  1. 3算法全称_全网最通俗的KMP算法图解
  2. 中交叉的线_表现力一绝!用交叉线构图拍出来的照片,竟然可以这么吸睛!
  3. linux tunl0 ip,Centos7下lvs负载均衡lvs-tun模式配置
  4. 洪水填充算法_Flood Fill (洪水填充、泛洪填充、油漆桶)算法Java循环实现(BFS方式,非递归)...
  5. 1-9月欧洲新能源车份额上升 混动车注册量增加8.8%
  6. php文本框长度限制,php截取富文本框中的固定长度的字符
  7. dump文件_centos7 磁盘与文件系统管理
  8. linux vim yy,linux vim的使用方法
  9. 手机的尺寸、分辨率、像素密度的关系
  10. 用python计算工资工资_教你使用Python实现新个税计算器,税前税后工资计算器
  11. 浪潮服务器 U盘安装 Windows server 2016系统
  12. Webpack4.0各个击破(6)loader篇
  13. stol函数在linux下使用,C++ std::stol()、std::stoll()用法及代码示例
  14. 细分领域BIM系统研发是谁的事?
  15. 《Microsoft Sql server 2008 Internals》读书笔记--第六章Indexes:Internals and Management(3)
  16. 基于STM32和hs1527、ev1527、rt1527、fp1527的无线接收解码程序
  17. 【构造】Colored Rooks
  18. LTspice introduction - 5 Complex and AC analysis
  19. 杭电网安复试上机编程题
  20. 京东7亿美元投资兴盛优选,买到了什么?

热门文章

  1. PHP|Yii2下通过插件进行图片处理(亲测可用)
  2. HTML5 获得canvas油漆环境
  3. [转]win系统下nodejs安装及环境配置
  4. traceroute命令原理
  5. 金笛邮件中使用wap邮箱
  6. 一个牛人在美国的跳槽经历(有感)
  7. 可是来个拦路虎的scutzh
  8. 10W 赞的程序员高薪职业建议
  9. 正则表达式与html信息提取,基于正则表达式的HTML信息提取.pdf
  10. JAVA题目 写一个收费站类_Java综合题目