ボグ抽出をリモートで実行

ボグ抽出をリモートで実行

/mnt/backupにあるリモートストレージのバックアップを検討してくださいserver

Borg ユーザーでない場合、リポジトリは複数のアーカイブで構成されます。バックアップが実行されるたびにアーカイブが作成されます。それでは、特定のアーカイブを抽出したいとしましょう。単純化のために最新のアーカイブを抽出します。

現在私がする方法は、リモートリポジトリからアーカイブリストを取得し、その名前を配列に保存することですmailarchives。次のようになります。

mapfile -t mailarchives < <(borg list --short 'faheem@server:/mnt/backup')  

次に(最新のアーカイブ)からすべてのファイルを抽出し、mailarchive[-1]アーカイブが有効であり、アーカイブから復元できることを確認しました。次のようになります。

borg extract -n 'faheem@server:/mnt/backup'::"${mailarchives[-1]}"

しかし、これはすべてをローカルにコピーするために多くのデータを使用します。したがって、私の質問は、これらすべての操作をリモートで実行し、結果(成功または失敗)のみをローカルに送信できるかどうかですssh。私はこれが可能でなければならないと思いますが、正確にどうなるかはわかりません。

より簡単な例は次のとおりです。

borg check faheem@server:/mnt/backup

また、何らかの理由で多くのデータを消費します。

さらに、見た目にもかかわらず、この質問は実際にBorgbackupに限定されていません。より一般的に言えば、リモートコンピュータでスキャンを実行したいのですが、通常はローカルに多くのデータをダウンロードする必要がある場合は、このスキャンをリモートで実行できますか?成功または失敗の結果をローカルに渡すだけですか?

最後に、Borgのメイン/リード開発者が残したメモです。

ThomasWaldmann> faheem: borg は成功時 0、警告時 1、エラー時 2 を返します。

ベストアンサー1

実際の答えは、バックアップを「確認」する方法と、バックアップツールの検証実行機能によって異なります。

私はあなたがborgこれを使用していると仮定しており、borg checkそれはあなたにとって十分です。特定のバックアップ確認要件が異なる場合は、質問を修正してください。

リモートで実行borg:

リモートで実行できるようにするには、borg check1)リモートサーバーでコマンドを実行できる必要があり、2)borgそのコマンドがリモートサーバーにインストールされている必要があります。これはおそらく最も一般的な設定ですが、代わりに使用できます(ストレージはローカルにマウントされたリモートボリュームにあります。たとえば、次のように使用しますsshfs)。

リポジトリが次の場合暗号化されていない次のコマンドを使用して確認できます。

$ ssh user@host 'borg --show-rc check /path/to/repo'

borgローカルコンピュータではなくリモートサーバーで実行されます。この--show-rcオプションはborg終了コードを出力し、ローカルコンソールに表示されます(標準出力がリダイレクトされます)。追加情報を取得するオプションを--verbose追加できます。リポジトリからすべてのデータを抽出し、解凍してリモートで確認するオプションを追加することもできます。--progress
--verify-data

borg check user@server:/path/to/repo/ローカルで実行すると、--verify-dataこのオプションがなくてもリポジトリ内のすべての圧縮データがリモートからローカルに送信されます。

borg文書がデフォルトでローカルに実行されるのは、おそらく推奨設定borgに暗号化が含まれているため、セキュリティ上の理由から、暗号化/暗号化解除はローカルでのみ実行する必要があるためです。

リポジトリが次の場合暗号化:

  • 選んだら鍵ファイルの暗号化、リモートプロセスにキーファイルを提供する必要があります。これは通常~/.config/borg/keys/key_name、リモートサーバーの同じパスにコピーすることを意味します(代わりに公式文書を参照)。
  • 選んだら再暗号化、リモートプロセスでパスワードを要求する必要があります。

リモートプロセスがパスワードを要求するには、リモートサーバーに疑似端末を割り当てるオプション呼び出しをssh使用する必要があります。-t

$ ssh -t user@host 'borg --show-rc check /path/to/repo'

重要なセキュリティに関する考慮事項:

暗号化されたストレージは、部分的に信頼できるサーバー、つまりデータが削除または失われないように十分に信頼できますが、実際にデータを表示したくないサーバーを使用できます。

リモートサーバーを完全に信頼していない場合は、暗号化キーおよび/またはパスワードを提供したくありません。これにより、アーカイブとデータをリモートで確認できなくなります。
リポジトリは復号化なしでのみ確認できます。borg check --repository-onlyこれは、呼び出し時に発生します。データブロックは確認されません。詳細については、オンラインマニュアルを参照してください。

おすすめ記事