阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CSVN备份入门基础及使用过程中遇到的错误解决

136次阅读
没有评论

共计 3634 个字符,预计需要花费 10 分钟才能阅读完成。

备份方法挺多的,目前我知道有四种

其一:

首先复制旧 csvn 服务器上 repositories 下的版本库文件夹到新 csvn 服务器 repositories 文件夹下面(做以下修改时最好把 csvn 服务停掉)

然后复制旧 csvn 的 svn_auth_file 到新 csvn 上(相当于复制用户密码)

接着就是复制旧服务器上的用户账号信息(例如邮箱,权限等)

 csvn-production-hsqldb.script 在这个文件里搜索 INSERT  INTO  USER 然后复制这几行,追加到新服务器上的对应文件中(这里我遇到一个问题,就是我在 csvn 的 web 管理界面可以看到我新建的用户,但是我在这个文件中却找不到对应的插入信息,最后发现是没有重启 csvn 的问题)

接着用旧 csvn 服务器上 svn_access_file 文件覆盖新 csvn 服务器上的对应文件,该文件为用户访问权限 (为了安全起见,最好将被替换的文件先做好一个备份,防止出现异常情况无法恢复)

最后重启 csvn,迁移就完成了。

其二:

svnadmin dump

原服务器

cd repositories

svnadmin dump svncopy/ > test.dump

复制版本库的服务器

1056 scp root@10.0.3.107:/application/csvn/data/repositories/test.dump ./    #scp 传文件就是杠杠的
1057 ls
 1058 svnadmin load test.dump #命令有错
1059 svnadmin load /application/csvn/data/repositories/ test.dump #命令有错
1060 svnadmin load /application/csvn/data/repositories/ < test.dump #还是有错
1061 ls
 1062 ls -l
 1063 chown -R csvn:csvn test.dump            #尝试修改拥有者,无效
1064 svnadmin load /application/csvn/data/repositories/ < test.dump
 1065 svnadmin create test #新建一个版本库
1066 svnadmin load /application/csvn/data/repositories/test < test.dump #执行成功
1067 ls
 1068 ls -l
 1069 chown -R csvn:csvn test #配置权限

其三:

svnadmin hotcopy

 服务器 a:

[root@localhost repositories]# svnadmin hotcopy testb testb.hotcopy 

服务器 b:

1074 scp -r root@10.0.3.107:/application/csvn/data/repositories/testb.hotcopy ./
 1075 ls
 1076 ls -l
 1077 chown -R csvn:csvn testb
 1078 ls -l
 1079 chown -R csvn:csvn testb.hotcopy/

其四:

svnsync

[root@node2 svnmirror]# cd /application/csvn/data/repositories/ #我选择直接在这里备份版本库
[root@node2 repositories]# svnadmin create bp #创建同名的备份库
[root@node2 repositories]# svnsync init file:///application/csvn/data/repositories/bp/ http://10.0.3.107:18080/svn/bp #同步前先初始化,file 后面就是我用来存放备份版本库的路径,后面是需要备份的版本库路径。然后,报错
svnsync: E165006: Repository has not been enabled to accept revision propchanges;
ask the administrator to create a pre-revprop-change hook
[root@node2 repositories]# cp bp/hooks/pre-revprop-change.tmpl bp/hooks/pre-revprop-change #安全起见,pre-revprop-change 是我们初始化过程中需要的文件
[root@node2 repositories]# vi bp/hooks/pre-revprop-change #不能将文件清空,只需要把最后一行的 exit 1 改为 exit 0
[root@node2 repositories]# svnsync init file:///application/csvn/data/repositories/bp/ http://10.0.3.107:18080/svn/bp    #再次尝试初始化
Copied properties for revision 0.
[root@node2 repositories]# svnsync sync file:///application/csvn/data/repositories/bp/ #正式开始同步
Transmitting file data .
Committed revision 1.
Copied properties for revision 1.
[root@node2 repositories]# ls
bp
[root@node2 repositories]# ls -l
total 4
drwxr-xr-x 6 root root 4096 Nov 22 02:23 bp
[root@node2 repositories]# chown -R csvn:csvn bp/ #这时候进入 csvn 的 web 管理界面,会提示权限不足或者无法显示出来,所以我们需要修改拥有者
[root@node2 repositories]# svnsync sync file:///application/csvn/data/repositories/bp/ #这个相当 commit 吧
Transmitting file data .
Committed revision 2.
Copied properties for revision 2.
[root@node2 repositories]# ls

编辑被同步的 csvn 服务器上的 post-commit(本来是没有这个文件的,需要把 post-commit.tmpl 重命名为 post-commit)

/application/csvn/bin/svnsync synchronize –non-interactive http://10.0.3.102:18080/svn/svncopy –username admin –password admin

那个网址为用来同步的另一台服务器 svn 路径(我是直接进入 csvn 里面查看检出命令,得到这个路径的)

然后重启 csvn 服务器就差不多了

CSVN(SVN)命令入门及使用过程中遇到的错误问题汇总

首先进入 web 管理界面新建一个版本库
 新建一个文件 text
 svn add text #如果提示错误,在后面增加–force
 svn ci -m‘add text’#如果提示错误,将 csvn 下的目录全部加 777 权限
 开启 csvn 服务时,提示超时,启动失败等问题,可以通过使用 csvn 用户启动解决这个问题(前提是将 csvn 所在的目录的拥有者修改为 csvn)

以下是 subversion 官方推荐的备份方式。
 关闭所有运行的进程,并确认没有程序在访问存储库(如 httpd、svnserve 或本地用户在直接访问)。
 备份 svn 存储库
 压缩备份
svnadmin dump /home/workhome/svn/repository | gzip > ~/repository-backup.gz
不压缩备份
svnadmin dump /home/workhome/svn/repository > ~/repository-backup.svn
恢复 svn 存储库
 建立新的 svn 存储库
svnadmin create /home/workhome/svn/newrepository
确认成功与否
ls -l /home/workhome/svn/newrepository
导入存储库数据
svnadmin load /home/workhome/svn/newrepository < ~/repository-backup.svn

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-12/149548.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-21发表,共计3634字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中