synsync で Subversion リポジトリのバックアップ
詳しいことはウェブ検索等で調べてもらいたい。以下は作業ロクでしかない。
Subversion に同梱の svnsync なるコマンドを用いると Subversion リポジトリのバックアップが簡単に行える。要するにミラーだ。ただしコマンド一発とはいかず、前準備としてほんの数行のファイルを作る必要がある。
まず、バックアップ先のリポジトリを作成した。
% svnadmin create repo
次に、repo 内に hooks/pre-revprop-change というファイルを以下の内容で作成。実行属性が必要だ。
% cat repo/hooks/pre-revprop-change #!/bin/bash exit 0 % ls -l repo/hooks/pre-revprop-change -rwxr-xr-x 1 toshiharu toshiharu 19 2010-06-09 23:59 repo/hooks/pre-revprop-change*
そして、svnsync init でバックアップ先のリポジトリを初期化。
% svnsync init file://`pwd`/repo svn+ssh://hisa/home/toshiharu/svnrepos/repo リビジョン 0 の属性をコピーしました。
最後に同期を行った。
% svnsync sync file://`pwd`/repo リビジョン 1 をコミットしました。 リビジョン 1 の属性をコピーしました。 リビジョン 2 をコミットしました。 リビジョン 2 の属性をコピーしました。 ファイルのデータを送信しています . リビジョン 3 をコミットしました。 リビジョン 3 の属性をコピーしました。 ファイルのデータを送信しています .. ...
以降、リポジトリの内容を同期したい場合は、最後の例のように svnsync sync を実行すればいい。
日頃からバックアップを取ることは大事だ。Subversion のリポジトリとて例外ではない。