Subversionリポジトリを別サーバにコピーしてみた

いま、メインで使っているSVNサーバが、先週、HDDのエラーを吐いて止まった。
その時は、復旧できたが、そろそろやばいということで、なんとかしなければということになった。


元々、SVNサーバを新しく立てて移行しようということで、新SVNサーバは出来ていたが、案件の切れ目の都合で移行しきれていなかったのです。


とりあえず、バックアップとかも改めてしっかりやろうということになり、ふと思いついて、旧SVNサーバのリポジトリディレクトリを新SVNサーバに rsyncで物理的にコピーしてみた。


鍵交換をして、旧SVNサーバの方で以下のシェルバッチを作成。

#!/bin/sh
## svn backup
/usr/bin/rsync -vrtz -e ssh -v /var/svn/repos/ www@192.168.0.xxx:/var/svn/repos/


で、cronに実行設定

$ crontab -l
#svn backup
0 2 * * * /bin/sh /var/svn/svnbackup.sh > /var/svn/svnbackup.log


なんか、新サーバに svnコマンドでつないでも普通に見えるのだけど、こーいう使い方ってありなのでしょうか?
SVNサーバが動いているうちは、新SVNサーバにコミットするとひどいことになりそうだけど。


とりあえず、旧SVNサーバが死ぬか、HDDの交換が済むまでこれで運用してみます。
SVNサーバが死んだら、新SVNサーバでそのまま使い続ける予定。

追記

keyさんから以下のようなコメントいただいたので、後で試して見ます。

rsyncだとアトミックにやれないかも?
svndumpコマンドを使った方がよさげ