Subversionリポジトリのエクスポート

ここではtracpathからSubversionリポジトリのデータエクスポート(リポジトリデータのバックアップ)する方法を説明します。

従来から当社が行っていたシステム保全とデータ保全のためのバックアップではなく、ユーザによるプロジェクト毎のデータバックアップサービスとなります。当社のtracpathに対するセキュリティ管理と施策はこちらをご覧ください。

リポジトリのバックアップはGit/Subversion/Mercurialによって異なります。バージョン管理システムのリポジトリバックアップはログやコミット情報全てを含んでいるためサイズの大きいデータになる可能性があります。ご注意ください。

Subversionのリポジトリのエクスポート手順

Subversion リポジトリのエクスポート手順は、トラックパス上にある Subversion リポジトリのコピー(トラックパス上と同じリポジトリ)をローカルマシン上に作成する方法です。ローカルマシンにリポジトリのコピーを作成後、リポジトリのダンプファイル取得や引越が可能です。リポジトリのコピー(同期)が完了後、トラックパス上の Subversion リポジトリは削除することが出来ます。

Subversionリポジトリのバックアップは、Subversionのバックアップツールであるsvnsync を使います。

  1. svnsync 用のファイル (Zip アーカイブ) をダウンロードします。ファイルはtracpathのSubversionのリポジトリをバックアップする方法のページからもダウンロード可能です。
    • Subversionのリポジトリをエクスポート.png

  2. ローカルマシンにダウンロードしたアーカイブを展開します。
  3. Windowsの場合はこの手順は不要です。Linux または Mac OS X の場合には、hooks/* スクリプトに実行権限を追加します。
    •     chmod a+x /path/to/extracted/directory/hooks/*
  4. ローカルに保存した svnsync 用のテンプレートファイルに対して、 svnsync sync コマンドを実行します。この処理を実施することでリポジトリの同期を行います。この操作は Subversion のリポジトリを完全同期するためリポジトリのサイズによっては時間がかかる場合がございます。
    •     svnsync sync file:///C:/path/to/extracted/directory/
      Linux / Mac OSでは「$PWD」を指定するか、ダウンロードしたsvnsyncテンプレートのフルパスを指定する必要があります。
          svnsync sync file:///$PWD/directory/
  5. 定期的に svnsync sync コマンドを実行して、リポジトリとの同期を行います。この操作により、トラックパスのリポジトリと同期します。
    •     svnsync sync file:///C:/path/to/extracted/directory/
      Linux / Mac OSでは「$PWD」を指定するか、ダウンロードしたsvnsyncテンプレートのフルパスを指定する必要があります。
          svnsync sync file:///$PWD/directory/
  6. リポジトリのバックアップ:リポジトリのダンプファイルが必要な場合には、svnadmin dump コマンドを実行します。また、ファイルは gzip、bzip2 または zip で圧縮することをお勧めします。バックアップを取得後、トラックパス上のリポジトリを削除することが可能です。
    •     svnadmin dump --deltas C:/path/to/extracted/directory/ | gzip -9 >svndump.gz
      Linux /Mac OSでは以下のように指定します。
    •     svnadmin dump --deltas ~/tmp/extracted/directory/ | gzip -9 > svndump.gz
  7. トラックパスにリポジトリをインポートする場合、リポジトリのバックアップ(ダンプファイル)を利用します。


リンク

tracpathのインポート・エクスポート/Subversionリポジトリのエクスポート (last edited 2021-12-08 00:20:16 by omae)