SVNリポジトリを別のサーバに移行する方法

SVN(Subversion)のリポジトリを移行する手順です。
svnadminのdumpコマンドとloadコマンドを使用します。

バックアップ

svnadmin dump 【リポジトリロケーション】 > 【バックアップファイル名】

リストア

svnadmin load 【リポジトリロケーション】 < 【バックアップファイル名】

実行例

/home/svn/project
から
/home/svn/project_new
に移行する場合の例は次のようになります。

旧SVNリポジトリからバックアップ(ダンプファイルを作成)

svnadmin dump /home/svn/project > svn_project.dump

新SVNリポジトリ用のディレクトリを作成

mkdir /home/svn/project_new

新SVNリポジトリを作成

svnadmin create /home/svn/project_new/

新SVNリポジトリへダンプファイルをロード(リストア)

svnadmin load /home/svn/project_new/ < svn_project.dump

ダンプファイルの転送

サーバが異なる場合、ダンプファイルを別のサーバにコピーする必要があります。
ただSVNのリポジトリは差分を保存しているため、リビジョン数によっては容量は最新のリビジョンから比べると、かなり大きなものになることがあります。

このファイルを旧サーバからローカルPCにダウンロードして、新サーバへアップロードするという作業をすると転送を2回することになり、時間がかかります。
そのためSCP(SSH)が使用できるようであればSCPコマンドで、旧サーバから新サーバへ直接転送してしまうほうが早いです。この場合、転送回数は1回になります。

[参考記事] scpコマンド リモート・マシン間でファイルをコピーする

移行元のサーバよりSCPコマンドを実行します。

scp 【ファイル名】 【ユーザー名】@【移行先サーバアドレス】:【移行先パス】

実行例

scp svn_project.dump username@192.168.11.10:/home/svn/project_new/

関連記事

スポンサーリンク

+演算子 足し算

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る