A主从备份:

原由:从我入职公司到现在svn服务器就一台,年前我就有想法搞一台备的,不然到时候机器挂了数据丢了就尴尬了。

昨天搞了一整天,网上的各种教学,改来改去,遇到一个坑:同步只能同步版本,不能同步数据。

晚上回家又想了下,没想通。今天早上来重新对了下各个配置。发现只有一个没有改:svnserve.conf里

anon-access = read 改为了anon-access = none就没问题了。

附上操作:

svn主搭建忽略。

主svn:svn://192.168.52.102/test1

从svn:svn://192.168.52.103/test1

大部分都是从上操作:

从上操作:

[建svn库:

mkdir /home/svn/test1

svnadmin create /home/svn/test1

把主上的conf下的文件拷贝到备上的conf下:简单配置如下:

[root@localhost conf]# cat authz | grep ^[^#]
[aliases]
[groups]
admin=lipeng
dev=lipengdev
[/]
@admin=rw
@dev=rw
[repository:/]
@admin=rw
@dev=rw
[root@localhost conf]# cat passwd | grep ^[^#]
[users]
lipeng = xxxxxx
lipengdev = xxxxxx
[root@localhost conf]# cat svnserve.conf | grep ^[^#]
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
[sasl]

修改hooks下的pre-revprop-change

全部清空,写入

#!/bin/sh
exit 0

给执行权限:

chmod 755 pre-revprop-change

先把从的svn起起来  svnserve -d -r /home/svn   下图中是服务器启动的,下面会贴上服务脚本。

从上开始初始化:

svnsync init svn://192.168.52.103/test1 svn://192.168.52.102/test1 --username lipeng --password xxxxxx --no-auth-cache

从上直接同步:

svnsync sync --non-interactive svn://192.168.52.103/test1 --username lipeng --password xxxxxx

上图就遇到了开头说的问题,只同步了版本属性,没有同步数据。需要修改

svnserve.conf里

anon-access = read 改为了anon-access = none就没问题了。(主从上都要改为none 切记)

改完貌似需要重新初始化。这边直接删掉重建了库。

再次同步问题解决:

]###[]内都是从上操作的。

主上操作:

修改hooks的post-commit,用户提交代码就会自动备份到从。

修改hooks上的post-commit(初始内容直接清空,写入以下内容即可)

chmod +x post-commit

#!/bin/sh
svnsync sync --non-interactive svn://192.168.52.103/test1 --username lipeng --password xxxxxx

下面验证:

在例外一台机器上验证:

checkout主的test1:

在别的目录checkout从的test1

主的test1里面增删改查,并提交。

[root@svn opt]# cd test1/
[root@svn test1]# ls
asdadasd.txt sakjdhkjashdhjk.txt test1_2_3_4_5_6_7_8.txt test1_2_3_4_5_6.txt test1_2_3_4.txt test1_2.txt ysb
askjhdjkha.txt test11111111.txt test1_2_3_4_5_6_7.txt test1_2_3_4_5.txt test1_2_3.txt test1.txt
[root@svn test1]# touch aaaa.txt
[root@svn test1]# svn add aaaa.txt
A aaaa.txt
[root@svn test1]# svn commit -m "add aaaa.txt"
增加 aaaa.txt
传输文件数据.
提交后的版本为 18。

进到从的那个库里,直接update看结果:成功。

B:svn启动服务脚本:

vim /etc/init.d/svnboot

chmod +x /etc/init.d/svnboot

chkconfig --add svnboot

chkconfig svnboot on

脚本内容如下:

#!/bin/bash
# chkconfig: 2345 85 15
# description: svn server
SVN_HOME=/home/svn
SVN_SERVER=/usr/bin/svnserve

if [ ! -x $SVN_SERVER ]; then
echo "svnserver startup: cannot start"
exit
fi

case "$1" in
start)
echo "Starting svnserve…"
$SVN_SERVER -d -r $SVN_HOME
echo "Finished!"
;;
stop)
echo "Stoping svnserve…"
killall svnserve
echo "Finished!"
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: svn { start | stop | restart } "
exit 1
esac

转载于:https://www.cnblogs.com/lp19910807/p/10483824.html

svn主从备份以及开机启动脚本相关推荐

  1. ubuntu 设置开机执行脚本_ubuntu-18.04 设置开机启动脚本

    ubuntu-18.04 设置开机启动脚本 参阅下列链接 ubuntu-18.04不能像ubuntu14一样通过编辑rc.local来设置开机启动脚本,通过下列简单设置后,可以使rc.local重新发 ...

  2. android+启动脚本,imx6q android 添加开机启动脚本

    1.在xx/out/target/product/sabresd_6dq/root/init.rc中添加以下内容 ========================================== ...

  3. 关于Ubuntu运行级别、开机启动脚本的说明

    关于Ubuntu运行级别.开机启动脚本的说明 目录简介 1.1介绍Ubuntu下面的自启动脚本目录 1.2 Linux操作系统运行级别的概念 1.3关于操作系统自启脚本的启动顺序 1.4    Lin ...

  4. CentOS开机启动脚本的顺序

    CentOS开机启动脚本的顺序 时间:2015-05-27 01:37来源:chinaunix.net 作者:br9852000 举报 点击:800次 id="iframeu2000246_ ...

  5. php添加开机启动脚本_centos 7.2 添加php7 的 php-fpm 开机启动

    在centos7中编译安装好php后,系统重启后并不会对php进行开机启动,所以需要对centos7添加开机启动脚本对php进行开机启动服务. 手动启动:/usr/local/php/sbin/php ...

  6. Ubuntu下添加开机启动脚本

    [转载]Ubuntu下添加开机启动脚本 原文地址:http://blog.163.com/yangshuai126%40126/blog/static/173426265201092810164155 ...

  7. ubuntu-18.04 设置开机启动脚本-亲测有效

    ubuntu-18.04不能像ubuntu14一样通过编辑rc.local来设置开机启动脚本,通过下列简单设置后,可以使rc.local重新发挥作用. 2.将下列内容复制进rc-local.servi ...

  8. oracle开机启动脚本

    oracle开机启动脚本,加入/etc/init.d,并使用chkconfig命令设置开机启动 #!/bin/bash # # chkconfig: 2345 80 05 # description: ...

  9. linux共享文件夹开机自启,ubuntu16.04.6和 18.04添加开机启动脚本,重启后自动挂载vmware的共享文件夹...

    vmware安装ubuntu server16.04.6后使用共享文件夹,但是每次重启都是执行一个命令才可以挂载上(ubuntu桌面版的不需要),原因没有深究,所以就想到啦加个开机脚本来执行那个挂载命 ...

最新文章

  1. 带套属于安全行为吗_教师不管学生上课睡觉的行为,属于不负责任吗?建议收藏!...
  2. Lua(Codea) 中 table.insert 越界错误原因分析
  3. 【大话存储】学习笔记(7章), OSI模型
  4. stm32f103r6最小系统原理图_超强PCB布线设计经验谈附原理图
  5. 【牛客 - NC93】设计LRU缓存结构(模拟)
  6. 车架号查车辆型号_【菜鸟二手车大讲堂】第十一讲 经常提到的汽车车架号是什么?...
  7. rabbitmq channel对象的方法
  8. RHadoop实践系列文章
  9. PDF转CAD怎么转换?(所有格式格式转换方法通用)
  10. 循环结构中break、continue、return和exit的区别
  11. 最适合编程的笔记本电脑是什么?
  12. 学会自我学习(自律性)
  13. Numpy:随机抽样
  14. 正则校验字符串中汉字数量及总数量
  15. javascript各种设计模式
  16. 无人驾驶特斯拉如何布局?
  17. 用C/C++实现输入IQ数据,计算时差(IQ数据互相关),完成TDOA定位(Chan算法)
  18. Chrome浏览器被2345、hao123等网站劫持的解决方法
  19. UVA 12563 劲歌金曲 Jin Ge Jin Qu hao
  20. Vue 前端代码风格指南、代码规范

热门文章

  1. initWithFrame/initWithCode/awakeFromNib调用
  2. Oracle11g for Windows
  3. 诊断和响应故障_验证数据库文件和备份
  4. Android ViewPager嵌套ViewPager+Fragment问题
  5. F4—LVDS接口LCD显示彩图测试-2023-02-25
  6. Python练手项目:玩转魔方
  7. Charles的安装和注册码破解
  8. oracle 按旬统计并且每月小计 行转列 PIVOT函数 与分组小计 ROLLUP 函数
  9. 如何使用git 生成patch 和打入patch
  10. 自动机器学习-AutoGluon: AutoML for Text, Image, and Tabular Data