远程镜像与备份SVN服务器的方法小结第1/2页

 
我们来看一个简单的svnsync例子:
主SVN服务器: http://mastersvn/project1
svnsync镜像SVN服务器上的部署:http://backupsvn/project1
第一步:建立仓库
cd /home/svn
svnadmin create –fs-type fsfs /home/svn/project1
chmod 777 –R project1
第二步:镜像初始化
svnsync init http://backupsvn/project1 http://mastersvn/project1
第三步:更改配置文件
cd /home/svn/project1/hooks
cp pre-revprop-change.tmpl pre-revprop-change
vi pre-revprop-change
注销所有语句,在语句前加入#即可,退出保存
第四步:同步
svnsync sync http://backupsvn/project1 --username username --password password
已提交版本 9。
复制版本 9 的属性。
已提交版本 10。
复制版本 10 的属性
……………
但是在实际运用中,经常会发生SVN库被lock的情况
svnsync: Couldn't get lock on destination repos after 10 attempts
这不得不让我们感觉头痛地手动使用改命令解锁
svn propdel svn:sync-lock --revprop -r0 http://backupsvn/project1
写到这里,大家不由对svnsync有了个初步的认识了吧,就一个字,烦!!!而且同步速度很慢!!!
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
接下来是此文的重点部分:
SVN新的镜像备份方案:ssh + rsync + crontab(任务计划))
什么是SSH?
SSH 是更灵活、更安全的 telnet 和 rlogin 替代品。它在开发项目中得到广泛使用,以提供访问控制和安全的数据传输。
什么是rysnc?
rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync。它的特性如下:
可以镜像保存整个目录树和文件系统。
可以很容易做到保持原来文件的权限、时间、软硬链接等等。
无须特殊权限即可安装。
优化的流程,文件传输效率高。
可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接。
支持匿名传输,以方便进行网站镜象。
什么是crontab?
Crontab是Linux操作系统下的一个命令,可以用来根据时间、日期、月份、星期的组合来调度对重复任务的执行的守护进程。(类似windows下的任务计划)
方案拓扑图:(请看附件)
主SVN服务器环境:
SVN仓库根目录: /home/svn (project1,project2,project3三个仓库)
SVN服务器IP: 192.168.100.80
镜像SVN服务器环境:
SVN仓库根目录:/home/svn (无仓库,无需建立,镜像时会直接复制过来并保持文件属性)
SVN服务器IP: 192.168.100.81
#主SVN服务器安装部分:
(1)
SVN安装部分(略)
(2)
安装rsync部分
rpm -qa | grep rsync (所有系统是否有安装过rsync)
rpm -e rsyncxxx (删除以前安装过的rsync)
wget http://samba.anu.edu.au/ftp/rsync/rsync-3.0.4.tar.gz (下载rsync源码安装包)
tar zxvf rsync-3.0.4.tar.gz (解压)
cd rsync-3.0.4
./install.sh (安装)
接下来我们就可以输入rsync --version命令来测试下是否安装成功了。
rsync
version 3.0.3
protocol version 30
Copyright (C) 1996-2008 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
Capabilities:
64-bit files, 64-bit inums, 32-bit timestamps, 64-bit long ints,
socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
append, ACLs, xattrs, iconv, no symtimes
rsync comes with ABSOLUTELY NO WARRANTY.
This is free software, and you
are welcome to redistribute it under certain conditions.
See the GNU
General Public Licence for details.
(3) 开启rsync服务器端
/usr/local/bin/rsync --daemon (开启rsync服务)
vi /etc/rc.d/rc.local
在末尾加入/usr/local/bin/rsync --daemon (目的是让服务器每次重启后都能自动运行此进程)
#镜像SVN服务器安装部分:
(1)SVN安装部分(略)
(2)安装rsync部分
rpm -qa | grep rsync (所有系统是否有安装过rsync)
rpm -e rsyncxxx (删除以前安装过的rsync)
wget http://samba.anu.edu.au/ftp/rsync/rsync-3.0.4.tar.gz (下载rsync源码安装包)
tar zxvf rsync-3.0.4.tar.gz (解压)
cd rsync-3.0.4
./install.sh (安装)
接下来我们就可以输入rsync --version命令来测试下是否安装成功了。
接下来我们的配置就完成了,让我们用命里那个测试下。
同步命令:
rsync -vzrtopgu --progress --delete root@192.168.100.80:/home/svn /home/
输入用户名root
输入root的密码。
65309 100%
224.57kB/s
0:00:00 (xfer#507, to-check=2187/23106)
svn/project1/db/revs/202
29655 100%
99.86kB/s
0:00:00 (xfer#508, to-check=2186/23106)
svn/project1/db/revs/203
7242 100%
23.19kB/s
0:00:00 (xfer#509, to-check=2185/23106)
sent 15928 bytes
received 521860019 bytes
4404016.43 bytes/sec
total size is 12240235825
speedup is 23.45
传输完成,这次镜像过程就结束了。

当前1/2页 12下一页阅读全文

(0)

相关推荐

  • php操作SVN版本服务器类代码

    SvnPeer.php 复制代码 代码如下: <?php /** * * This class for execute the external program of svn * * @auth Seven Yang <qineer@gmail.com> * */ class SvnPeer { /** * List directory entries in the repository * * @param string a specific project repository pa

  • Windows下SVN服务器搭建方法整理(apache)

    本节和大家谈谈Windows下SVN服务器搭建问题,在这里拿出来和大家分享一下,希望对大家有用. 1,软件下载 Windows下SVN服务器搭建,下载Subversion服务器程序.到官方网站的下载二进制安装文件,来到二进制包下载部分,找到WindowsNT,2000,XPand2003部分,然后选择"thisdirectory",这样我们可以看到许多下载的内容,目前可以下载svn-1.4.0-setup.exe.下载Subversion的Windows客户端TortoiseSVN.T

  • shell脚本从SVN推送到多台服务器的代码

    复制代码 代码如下: SRCDIR=/letv/data/www/htdocs_user/MOD=userIP_LIST=(192.126.32.92 192.126.32.93 192.181.155.160 192.181.155.214 192.181.155.215 192.126.32.171) for i in ${IP_LIST[*]}do        echo -e "\n\nPUSH == $i == \n"        /usr/bin/rsync -vzrto

  • Windows SVN服务器搭建方法

    这里我就介绍一个在Windows环境下简单快速搭建SVN服务器的方法.通常的SVN服务器是搭建在Linux等系统下,例如用Apache+SVN配置,Linux下的SVN性能会非常好,但配置有些繁琐,如果SVN服务器只有自己使用,那么可以直接把SVN服务器搭建在个人Windows环境下使用. 目前较为简单的方案是VisualSVN Server.该SVN服务器是免费的,支持Windows NT, 2000, XP and 2003等环境,安装非常简单. 安装的时候可以选择SVN走http协议还是h

  • 基于SVN源码服务器搭建(详细教程分析)

    一.引言笔者曾经试图在网上搜索一篇关于SVN源代码服务器搭建方面的中文技术文章,可惜,所找到的,要么是不完整,要么就是对笔者没什么帮助的文章,TortoiseSvn的帮助文档固然强大,但因为是英文,不是很适合来作为入门者使用:毕竟,TortoiseSvn是一个客户端,服务器端的配置也很重要.一年前,笔者刚刚毕业,初入公司,在进行开发时,由于没有进行软件代码版本管理,导致的结果是•软件一天一个版本•Bug日益增加且隐藏很深•代码无法向前回溯•几个月前修正过的Bug在几个月后又重新出现由于最近公司决

  • 在Fedora 10下配置SVN服务器的步骤

    svn服务器有2种运行方式:独立服务器和借助apache.2种方式各有利弊. svn存储版本数据也有2种方式:BDB和FSFS.因为BDB方式在服务器中断时,有可能锁住数据(我在搞ldap时就深受其害,没法根治),所以还是FSFS方式更安全一点. 1.安装subversion: yum install subversion.i386 (注;在mandriva下面需要安装urpmi subversion subversion-server subversion-tool) 2.创建subversi

  • svn服务器启动和svn服务器重启、停止等操作脚本分享

    复制代码 代码如下: #!/bin/bashcase "$1" instart)        svnserve -d -r /svndata        svnport=`netstat -natp | grep svnserve | awk -F: '{print $4}' | awk 'NR==1'`        if [ $svnport -eq 3690 ]        then                echo "SVN Server Already

  • WINDOWS下搭建SVN服务器端的步骤分享(Subversion)

    1.获取svn程序 2.安装 Subversion(以下简称SVN)的服务器端和客户端.下载下来的服务器端是个 zip压缩包,直接解压缩即可,比如我解压到 E:\subversion .客户端安装文件是个 exe 可执行文件,直接运行按提示安装即可,客户端安装完成后提示重启. 3.先建立空目录 E:\svn\repos1 ,注意一定是要空的.然后在 repos1 文件夹上"右键->TortoiseSVN->Create Repository here...",然后可以选择版

  • linux下安装配置svn独立服务器的步骤分享

    file:/// 直接版本库访问(本地磁盘). http:// 通过配置Subversion的Apache服务器的WebDAV协议. https:// 与http://相似,但是包括SSL加密. svn:// 通过svnserve服务自定义的协议. svn+ssh:// 与svn://相似,但通过SSH封装 svn存储版本数据也有2种方式:BDB和FSFS.因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点.1. svn服务器安装操作系统: Redhat Linux A

  • 远程镜像与备份SVN服务器的方法小结第1/2页

     我们来看一个简单的svnsync例子: 主SVN服务器: http://mastersvn/project1 svnsync镜像SVN服务器上的部署:http://backupsvn/project1 第一步:建立仓库 cd /home/svn svnadmin create –fs-type fsfs /home/svn/project1 chmod 777 –R project1 第二步:镜像初始化 svnsync init http://backupsvn/project1 http:/

  • IDEA使用Docker插件远程部署项目到云服务器的方法步骤

    1. 打开2375端口 编辑docker.service vim /lib/systemd/system/docker.service 在 ExecStart 后添加配置 -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock 重启docker网络和docker systemctl daemon-reload systemctl restart-docker Centos7 开放端口 firewall-cmd --zone=public --add

  • linux 搭建svn服务器的方法步骤

    一:安装svn yum install -y subversion 二:创建仓库 1:创建仓库目录 mkdir -p /var/project/test 2:创建仓库 svnadmin create /var/project/test 创建成功后,在/var/project/test目录下如下目录: drwxr-xr-x. 2 root root 51 1月 30 13:26 conf drwxr-sr-x. 6 root root 4096 1月 30 13:26 db -r--r--r--.

  • php跨服务器访问方法小结

    本文实例总结了php跨服务器访问方法.分享给大家供大家参考.具体分析如下: 近来项目中遇到跨服务器访问的问题,研究了好些日子,总结如下: 1.用file_get_contents方法 $host = 'url'; $randomNumber=file_get_contents($host); echo $$randomNumber; 2.用Curl $host = 'url'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $host); //

  • PHP判断远程url是否有效的几种方法小结

    解决办法: 使用PHP解决 使用file_get_contents函数,不过优缺点如果url无法访问,会出现终止程序问题 使用curl返回,然后判断是否正确执行 使用get_headers函数,根据HTTP返回值查看是否有200 使用js解决: 使用原生的js函数ActiveXObject,仅支持ie内核的浏览器 使用jq扩展 本文主要介绍PHP解决办法中的第三种,这个方法很少用到,但是感觉又起来还不错, get_headers需要支持 php_openssl支持 查看phpinfo看看是否开启

  • 破解打印机墨水监控的方法小结第1/2页

    方法一:假识别  1.当电脑提示必需更换墨盒时,按正常步骤放入新墨盒. 2.然后打开:控制面板-打印机-打印机属性-应用工具-检查墨水残量.我们可以看显示墨水余墨为满的,这时不要点击"确定",更不要关闭打印机电源.  3.打印机的最右端是打印墨车,将墨车拉到换墨盒的地方.取出墨盒,换上原电脑提示已"用完墨的墨盒",装好墨盒后推到打印机的最右端(即将墨车推回原处).然后我们看见墨水余墨仍旧显示为满的,点击确定即可,墨盒就可以使用了. 另外,如不想用新墨盒来"

  • Windows服务器安全配置小结第1/2页

    1.       系统分区 a)         所有分区使用ntfs, C: System系统分区 10G, D: Software软件安装10G E: Website网站所在目录 F: 工具及备份50G soft,backup,other 2.       安装操作系统: Windows Server 2003 Enterprise Edition With Service Pack 1, 用WindowsUpdate 进行升级. 并打上sp2及所有补丁 Serv-U6.0(替换servad

  • 利用xcopy命令实现本地文件复制到远程服务器的方法

    A.net use \\IP地址 密码/user:****** B.xcopy 文件 \\IP地址\ 批处理文件为backup.bat,其代码如下: ========================================================================================= net use \\192.168.1.198\ipc$ Zqf198703 /user:royalpeak xcopy g:\backup\*.* \\192.168.

随机推荐