メインコンテンツにスキップ ナビゲーションにスキップ フッターにスキップ

バックアップのダウンロード

リポジトリの暗号化イメージをローカルディレクトリや外付けドライブにコピーし、以降の実行ではその場で更新できます。マシンを使わず、バックアップストアから直接再構築することも可能です。

バックアップのダウンロード

rdc backup download は、リポジトリの暗号化イメージのコピーをローカルディレクトリや外付けドライブに保持します。コピーはマシン上にあるものと同じ暗号文なので、途中で復号されることはありません。イメージを開くための認証情報は設定内に残るため、安全に保管するには config storage への登録が適しています。認証情報がなければ、イメージは開けません。

取得元は2つあります。既定は稼働中のマシンです。もう1つはバックアップストアで、--store で選択します。

マシンからのダウンロード

rdc backup download mail@prod --to /mnt/usb

--to には、既存で書き込み可能なディレクトリを指定します。ディレクトリは作成されないため、ドライブはあらかじめマウントしておく必要があります。イメージは <machine>/<name>.<tag>.img に置かれ、隣に .state.json ファイルが作られます。

実行のたびにリポジトリの新しいスナップショットが取られ、転送が続く間だけ保持されます。差分は rsync で送られ、結果の sha256 がマシン側のスナップショットと照合されます。

フラグ効果
--all -m <machine>マシンに配置されたすべての grand リポジトリをコピーする
--include-forks--all と併用して、フォークもコピーする
--bwlimit <rate>ネットワーク帯域を制限する(例: 100Mbps、12.5M)
--checkpointスナップショットの前にリポジトリをチェックポイントして凍結する(ホットバックアップ)
--retries <n>ネットワーク障害後の実行内リトライ回数(既定は3)
--skip-verifysha256 の照合を省略する。rsync 自身のチェックサムは引き続き実行される
--skip-space-checkターゲットの空き容量が足りない可能性があっても、拒否せず警告にとどめる

コピーの更新

2回目以降の実行では、既存のイメージが rsync の差分転送でその場で更新されます。週次で実行しても送られるのは変更分だけで、ターゲットに必要なのはイメージ2つ分ではなく1つ分の空きです。実行の開始前に、空き容量がイメージのサイズと照合され、--skip-space-check を付けると拒否が警告に変わります。

中断された実行と再開

状態ファイルには status が記録されます。最初のバイトが書き込まれる前から実行が検証されるまでは incomplete で、incomplete のイメージは使用できません。Ctrl-C、接続の切断、プロセスの強制終了があると、この状態のまま残ります。同じコマンドをもう一度実行すれば再開され、送られるのは差分だけです。ステータスが complete になると、コマンドは終了コード 0 で終了します。

要件

転送には、このコンピューターに rsync 3.1.3 以降が必要で、SFTP へのフォールバックはありません。Linux ディストリビューションには標準で同梱されています。macOS では、転送を実行できない標準搭載の openrsync を brew install rsync で置き換えます。Windows では、rsync パッケージ付きの MSYS2 をインストールするか、デスクトップアプリを使用します。

外付けドライブ

何が収まるかは、ターゲットのファイルシステムで決まります。

  • FAT32 は 4 GiB を超えるファイルを保持できず、コマンドは実行を拒否します。
  • スパースファイルに対応しない exFAT では、イメージが見かけ上のフルサイズで保存されるため、空き容量のチェックもそのサイズで計算されます。
  • ターゲットに対してローカルで取った コピーオンライトのスナップショット(btrfs、ZFS、APFS)は、イメージの過去のバージョンを保持します。その場合、その場での更新ごとに、古いブロックに加えて変更ブロック分の容量が必要になります。

バックアップストアからのダウンロード

export REDIACC_TOKEN=<api-token>
rdc backup download mail --store --to /mnt/usb

--store は、マシンを介さずチャンクストアから直接イメージを再構築します。REDIACC_TOKEN のトークンには backup:read と backup:restore のスコープが必要です。CLI のログインに backup:restore が含まれることはないため、トークンはポータルの API Tokens ページで作成します。トークンはチームに属し、現在の組織のオーナーまたは管理者が作成したものでなければなりません。

--store が受け付けるリポジトリ名は1つだけです。-m、--checkpoint、--all、--include-forks、--bwlimit、--retries、--skip-verify、--skip-space-check は使えません。ストアからの取得には独自の再開機能があり、すべてのチャンクが検証されるためです。

イメージは <dir>/<name>.<tag>.img に書き込まれます。取得が中断された場合は途中までのコピーが残り、同じコマンドでそこから再開されます。

--at によるスナップショットの選択

既定では最新のスナップショットが取得されます。--at <time|snapshot> で別のものを選べます。指定できるのは ISO 8601 形式の時刻か、スナップショット ID です。--store を付けたときだけ有効です。

rdc backup download mail --store --to /mnt/usb --at 2026-10-01T00:00:00Z

Linux 以外のプラットフォームでは、取得したイメージは暗号化されたままで、ローカルでは開けません。rdc backup upload で Linux マシンに送ります。

コピーのアップロード

rdc backup upload /mnt/usb/prod/mail.latest.img --to prod --as mail-copy --up

rdc backup upload は、ダウンロードしたイメージをマシンに送り、新しいリポジトリとして登録します。転送は中断後に再開され、マシンはイメージを配置する前に sha256 と LUKS ヘッダーを確認します。認証情報は、イメージの隣にある状態ファイルから得られます。このファイルを失った場合は、--from-repo <name> で認証情報の提供元となるリポジトリを指定します。

フラグ効果
--as <name>新しいリポジトリの名前(既定はイメージの名前)
--datastore <name>名前を指定したデータストアにイメージを配置する
--from-repo <name>状態ファイルが使えないとき、認証情報と系統情報を提供する
--bwlimit <rate>, --retries <n>ダウンロードと同じ
--up登録後にリポジトリを起動する
--skip-verifyダウンロード時に記録された sha256 との照合を省略する

古くなった転送スナップショット

強制終了された転送は、マシン上にスナップショットを残すことがあります。rdc machine status はプールの概要で古い転送スナップショットの数を表示し、rdc machine prune <machine> --dry-run はそれらを一覧表示します。rdc machine prune <machine> を実行すると削除されます。

チャンクストレージへのスナップショットについては、バックアップと復元を参照してください。