SSHを介して大容量ディレクトリをバックアップ/同期する最も効率的な方法

SSHを介して大容量ディレクトリをバックアップ/同期する最も効率的な方法

最小限の帯域幅を使用して、毎日専用サーバーの一部の大規模ディレクトリを別のサーバーにバックアップしたいと思います。

RSyncはジョブを検索しますが、どのコマンドスイッチが最適なのかわかりません。

SSHで選択した複数のディレクトリを別のコンピュータの「バックアップ」ディレクトリにコピーしたいと思います。

どんなアイデアがありますか?

答え1

--numeric-idsローカルユーザーに再マップされないようにファイルのuid / gidを保存するには、ユーザーフラグを使用する方が良いことを追加したいと思います。

このオプションは、履歴バックアップ(YYYY-MM-DD daliyディレクトリなど)を維持したい場合に--link-dest=DIR便利です。

データ(ソースコード、プレーンテキストファイル、ログ)を効率的に圧縮できる場合は-z非常に便利です。

それ以外の場合、-aHほとんどの要件が満たされます。

答え2

以下を試してみてください(バックアップサーバー上):

rsync \
    -a \
    --bwlimit=100 \
    remote-server:"/path1 /path2 /path3" /local/backup_$(date +%Y%m%d_%H:%M)

--bwlimit=100ほぼ100KB/秒を表します。

あなたはそれを使用することができますハードリンク数日間でcp -alディスク容量を大幅に節約し、rsyncファイルのみを変更できます!

これが方法ですrsnapshotプロジェクト。

答え3

rsyncrsyncd問題ありません。ただし、rsyncを利用するには、これらのシステムのいずれかで実行する必要があることに注意してください。変化検出アルゴリズム

言及されているハードリンクSputnickについては、次のことに興味があるかもしれません。fdupes

答え4

Rsyncは実際にこの問題を処理するのに適した低レベルのツールです。 rsyncオプションについて心配しないでください。代わりに専用のバックアップツールを使用してください。多くのオプションがあります。スナップ写真あなたの要件(非常に明確ではない)がこの機能を満たしていることを確認するために広く使用されている選択肢です。二重性rsync ライブラリに基づく別のバックアップ ツールです。

関連情報