連絡先 トップに戻る 最初に戻る 前に戻る 次へ進む
$Date: 2017-05-06 22:21:48 +0900 (2017/05/06 (土)) $
$Revision: 1117 $

Subversionリポジトリのバックアップ [svnrdump の利用方法]

概要

svnadmin dump はリポジトリをダンプしてリビジョンごとにバックアップを行えるツールです。
ただし svnadmin dump ではリポジトリがローカルファイルシステムに存在することが条件でした。
svnrdump dump を使うことでsubversion 経由での読み取りアクセス権さえあれば 離れたマシンからダンプを行うことができます。
またバックアップデータのリストアもsvnrdump load を使うことでバックアップを とったマシンとは別のマシンにデータをリストアを行うこともできます。

svnrdump の特徴

サポートしている機能

svnrdump では、以下の3つのタイプのバックアップをサポートしています。
  1. フルバックアップ
  2. リビジョンごとのバックアップ
  3. 複数リビジョン
これは svnadmin dump と同じです。

svnrdump の利用方法

ヘルプ

--help をつけて実行するとヘルプが表示されます。 リビジョンを指定しない場合フルダンプになります。
D:\tmp>svnrdump help
general usage: svnrdump SUBCOMMAND URL [-r LOWER[:UPPER]]
Type 'svnrdump help ' for help on a specific subcommand.
Type 'svnrdump --version' to see the program version and RA modules.

Available subcommands:
   dump
   load
   help (?, h)
   
D:\tmp>svnrdump help dump
dump: usage: svnrdump dump URL [-r LOWER[:UPPER]]

Dump revisions LOWER to UPPER of repository at remote URL to stdout
in a 'dumpfile' portable format.  If only LOWER is given, dump that
one revision.

有効なオプション:
  -r [--revision]     : リビジョン番号を  (または範囲 X:Y) と指定し
                             ます
  -q [--quiet]             : 標準エラー出力に (エラー以外の) 進行状況を出力し
                             ません
  --incremental            : 増分のみをダンプします
  --config-dir        : ディレクトリ  からユーザ設定ファイルを読み
                             込みます
  --config-option     : set user configuration option in the format:
                                 FILE:SECTION:OPTION=[VALUE]
                             For example:
                                 servers:global:http-library=serf
  --username          : ユーザ名を  と指定します
  --password          : パスワードを  と指定します
  --no-auth-cache          : 認証情報をキャッシュしません
  --trust-server-cert      : accept SSL server certificates from unknown
                             certificate authorities without prompting (but only
                             with '--non-interactive')
  --non-interactive        : do no interactive prompting (default is to prompt
                             only if standard input is a terminal device)
  --force-interactive      : do interactive prompting even if standard input
                             is not a terminal device

svnrdump dump を利用したバックアップ

実行例 (svnrdump dump)

D:\tmp>svnrdump dump -r 1 http://svn.apache.org/repos/asf > asf-00001.svndmp
* Dumped revision 1.

D:\tmp>svnrdump dump -r 1:10 http://svn.apache.org/repos/asf > asf-00001-00010.svndmp
* Dumped revision 1.
* Dumped revision 2.
* Dumped revision 3.
* Dumped revision 4.
* Dumped revision 5.
* Dumped revision 6.
* Dumped revision 7.
* Dumped revision 8.
* Dumped revision 9.
* Dumped revision 10.

svnrdump load を利用したリストア

実行例 (svnrdump load)

D:\tmp>svnadmin create asf

D:\tmp>svnrdump load file:///D:/tmp/asf < asf-00001-00010.svndmp
svnrdump: E165006: リポジトリが、リビジョン属性を変更できるようにはなっていません。
管理者に pre-revprop-change フックを作成するよう頼んでください
フックスクリプトを修正してリビジョンプロパティの変更を許可する。
このフックスクリプトはかなり手抜きです。
D:\tmp>type asf\hooks\pre-revprop-change.bat
exit 0

D:\tmp>svnrdump load file:///D:/tmp/asf < asf-00001-00010.svndmp
* Loaded revision 1.
* Loaded revision 2.
* Loaded revision 3.
* Loaded revision 4.
* Loaded revision 5.
* Loaded revision 6.
* Loaded revision 7.
* Loaded revision 8.
* Loaded revision 9.
* Loaded revision 10.

参考