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步驟 開啓倉庫。