CentOS 环境下,因为某个磁盘下的空间快使用完了,须要将SVN迁移到另一个拓展盘中(或其它目录)。
一、首先关闭目前的库,不让别人去操做这个库,避免在备份,迁移过程出错。
ps aux | grep svn
kill 10143 (关闭这个进程)
二、备份当前库,备份通常有两种方式,1: gzip 压缩备份方式。2:直接备份(默认方式)
我以为选择默认的方式,不进行压缩,由于我用压缩备份,在恢复时出现乱码,恢复不了。
svnadmin dump /home/svn/svnrepos > /datadisk/repository-backup.svn
/home/svn/svnrepos :当前库的路径
/datadisk/repository-backup.svn : 目标路径(文件比较大,选定足够的磁盘)
三、备份好后,在你选定的目录下建立新的仓库 repository
svnadmin create /datadisk/svn/newrepos2
四、恢复备份的仓库
svnadmin load /datadisk/svn/newrepos2 < /datadisk/repository-backup.svn
五、恢复成功后,把 /home/svn/svnrepos/conf 下三个配置文件 覆盖到新建立的仓库里。
六、启动新的仓库
svnserve -d -r /datadisk/svn/newrepos2
能够经过 ps aux | grep svn 查询一下状态
最后按照原来的连接方式访问SVN,完成!
还有一个简单粗暴的方式: 先执行 1 步骤, 而后把 原库 迁移到 目标目录, 最后 执行 6步骤 开启仓库。