Svn 服务器备份

昨天晚上突然想到一个问题,加入我的svn服务器的硬盘坏掉了怎么办,代码岂不是全丢了,

网上查了下,有好多方法可以实现svn服务器的备份,我就试着用sync同步了下代码库里的代码:

Svn服务器系统:

Redhat 6.4-64

Svn版本:

1.6

Svn源码服务器地址:

Svn://192.168.10.1/

Svn目标目录:

Svn://192.168.10.2/

  1. 首先在192.168.10.2 服务器上安装svn,版本库创建什么之类的,最好和源码服务器的目录一致,这样比较好备份(只是我这么认为而已)

  2. 在192.168.10.2服务器的/data/svn/repos/hooks 目录下将pre-revprop-change.tmpl 文件改名为

pre-revprop-change 并修改其最后一行exit 1 修改为 exit 0。或者将文件内容清空然后写入一行 exit 0。

3.添加权限chmod a+x pre-revprop-change

4.进去svn安装目录cd /usr/local/svn/

5.启动svn:   svnserve -d -r /data/svn/repos/

否则下面初始化的时候将停顿

  1. 执行初始化

svnsync init svn://192.168.10.2 svn://192.168.10.1

即 svnsync init 目标库源码库

按回车之后将向你询问登陆目标库和源码库的用户名和密码,建议两个库设置相同的用户名和密码。

正确后,显示:

Copied properties for revision 0.

  1. 执行同步

svnsync sync svn://192.168.10.2(注意:这里是本机的IP)

即svnsync sync 目标库

正确后显示

Committed revision 1.

Copied properties for revision 1.

Committed revision 2.

Copied properties for revision 2.

Committed revision 3.

Copied properties for revision 3.

Committed revision 4.

Copied properties for revision 4.

Committed revision 5.

Copied properties for revision 5

  1. 在源码库的hooks下面,添加post-commit脚本

可以拷贝post-commit.tmpl

cp post-commit.tmpl post-commit

然后把post-commit中的内容替换为

/usr/local/svn/bin/svnsync sync --non-interactivesvn://192.168.30.30/ -username jiafei –password jf123

即提交更新后,即执行同步命令,不进行交互

把post-commit 设置为755权限

Ps:

如果post-commit脚本出错,或者无可执行权限,在提交更新时会报错

  1. 如果第五步执行不能同步过去代码的话,那么就在备份机上:

在/usr/sbin/ 目录下添加 svnsync.sh 脚本,内容为:

#!/bin/bash

/usr/local/svn/bin/svnsync sync --non-interactivesvn://192.168.10.2/

添加一个定时任务:crontab –e

*/1 * * * * /usr/sbin/svnsync.sh >>/backup/svn_sync/sync.log 2>&1

每分钟从10.1同步一次代码

跟第五步区别不大,我试验过好使

7.到这里基本就Ok了,如果你的服务器坏掉了,那么直接将服务器地址

注意:前边的知道svn启动步骤千万不要错了,因为目录和IP顺序问题,直接导致我苦苦找了一天问题,最后还是重新卸载然后安装svn才发现的问题,记忆力差的孩子伤不起啊

转载于:https://blog.51cto.com/8474832/1544834

svnsync 服务器代码备份相关推荐

  1. Technet:服务器虚拟化备份和灾难恢复

    [url]http://technet.microsoft.com/zh-cn/magazine/cc895627.aspx[/url] 虚拟化 服务器虚拟化备份和灾难恢复 Adam Fazio 概览 ...

  2. 服务器存放代码的位置在哪里,云服务器代码放在哪里

    云服务器代码放在哪里 内容精选 换一换 可以.如果您有业务部署在华为云服务器(含弹性公网IP),即可通过华为云备案,与域名注册服务商没有关系.示例:如果您的主体和域名均为第一次备案,即在工信部无任何备 ...

  3. 利用系统工具进行服务器备份,服务器系统备份工具

    服务器系统备份工具 内容精选 换一换 GPU加速型p2(physical.p2.large规格)裸金属服务器创建成功后,需安装NVIDIA GPU驱动和CUDA工具包,从而实现计算加速功能.已绑定弹性 ...

  4. 服务器系统备份文档,服务器系统备份工具

    服务器系统备份工具 内容精选 换一换 建议不要在分析任务执行过程中卸载,否则可能出现异常.IDE插件只支持以Web模式卸载工具,不支持以CLI模式卸载工具.没有正在运行中的任务.配置参数后单击&quo ...

  5. phpstorm调试远程服务器代码(超详细版本)

    本篇教程是我综合了多篇教程综合而成的产物,每篇教程都会有一些小细节没有写到,折腾了好久终于是整出来了...现在在这里做个记录,也是给后来人避一下坑,先讲一下远程debug的原理:(本段来自:可能是全网 ...

  6. svn的代码提交到git服务器_svn服务器代码仓库,数据迁移到git仓库

    svn服务器代码仓库,数据迁移到git仓库 1.安装svn [root@tomcat01 ~]# yum install subversion -y 2.初始化仓库 [root@tomcat02 ~] ...

  7. 咪咕盒子链接服务器失败_云服务器怎样备份数据库备份

    云服务器怎样备份数据库备份?云服务器数据库的备份很重要,而手动操作会比较麻烦.以西部数码云服务器为例,可以实现 Ms Sqlserver数据库定时自动备份,并存至指定存储空间. 打开链接 下载,下载后 ...

  8. php获取svn文件,然后ftp上传服务器代码

    配置文件 <?php //setup commandline $svn_cmd1 = 'svn.exe update '; $svn_cmd2 = ' --username xxx --pass ...

  9. 博客使用的CSS代码备份

    CSS代码备份 /*simplememory*/ #google_ad_c1, #google_ad_c2 {display: none; }.syntaxhighlighter a, .syntax ...

  10. 获取远程服务器代码到本地文件,获取远程服务器代码到本地文件

    获取远程服务器代码到本地文件 内容精选 换一换 远程桌面协议(Remote Desktop Protocol,RDP),是微软提供的多通道的远程登录协议.本节为您介绍如何使用RDP文件远程登录Wind ...

最新文章

  1. linux源码包卸载方式
  2. 上传文件返回数据提示下载
  3. java 重置定时器_可重置Java定时器
  4. golang java耗内存_分析golang内存占用情况
  5. idea 设置jdk_IDEA开发小技巧~jdk问题
  6. 树莓派4支持多大tf卡_树莓派raspberry4B入坑指南 part-0
  7. Android Studio下载、安装和配置+SDK+tools下载(无敌超级详细版本)
  8. 如何获取微信应用appid
  9. cadence破译时显示服务器失败,在服务器开启cadence失败 报错如下
  10. keyshot可以打开mtl文件吗_KeyShot:bip文件是什么?bip文件用什么打开?
  11. 高等数学:第八章 多元函数的微分法及其应用(6)微分法在几何上的应用
  12. 首次启动mysql_MYSQL在centos上首次启动
  13. opencv3-编程入门学习笔记
  14. 《火车头采集器采集网页数据》火车头配置规则采集信息文章数据。
  15. docker快速安装可道云
  16. Linux创建用户和删除用户
  17. 中国移动明确5G商用时间表
  18. 根据图片名字在drawable中得到图片
  19. 于神之怒加强版 [Bzoj 4407]
  20. day08【File类、递归】

热门文章

  1. Java:接口interface
  2. python循环输入数组_python数组循环处理方法
  3. amd cpu不能在cmd环境下运行java代码_Golang安装与环境搭建并在VSCode里面输出HelloWord...
  4. table列最小宽度 vue_Vue组件设计 - 先别管view
  5. 在线开关MySQL5.7 GTID_MySQL 5.7 在线启用和关闭GTID
  6. 数字盲打怎么练_数字键盘区的功能及指法技巧
  7. No pubspec.yaml file found. This command should be run from the root of your Flutter project. Do not
  8. Windows下将jar包封装成服务程序
  9. http 性能测试. Apache ab 使用.
  10. SDWebImage的简单使用