私はrsyncが多くの用途に使用されていることを知っているので、私の状況でこれを使用する最良の方法は何ですか?
project/
処理と分析のためにSSHを介して接続するワークステーションにある約700 GBのプロジェクト(さまざまなサブディレクトリがある単一のフォルダにあります)。ワークステーションには直接アクセスできないNFS共有がマウントされています。 rsyncの増分機能を使用してプロジェクトの増分バックアップを作成することは可能ですか?
私はすでにバックアップにrsnapshotを使用していますが、プロジェクトの増分コピーを作成するための単純なrsyncコマンドを持っていることを願っています。変更がほとんどないため、増分コピーは帯域幅を減らします。
頑張りました
$ rsync --no-whole-file -rv project/ /nfs/destination/project/
しかし、うまくいきません...正しく使用していないと感じます。
ベストアンサー1
デルタ機能は、rsync
2 つの異なるホスト間でのみ機能します。
これはネットワーク速度とファイルIOの間のトレードオフであり、両方のホストがファイル全体を読み取り、異なる部分をコピーして書き込みます。 1回の読み取りと書き込みが2回の読み取りと一部の書き込みより高速であると仮定すると、同じホスト上の2つのファイルコピー間でデルタアルゴリズムを使用することは意味がありません。
理論的には、rsync
次のコマンドを使用してネットワークを介して実行するように欺くことができます。
rsync -rv project/ localhost:/nfs/destination/project/
ただし、ホストは違いを確認するために、以下の各ファイルproject/
と以下のターゲットファイルを読みます。/nfs/destination/project/
この時点でファイルを完全にコピーした可能性があります。
ファイル全体の書き込みを防ぐ唯一のショートカットは、ソースバージョンとターゲットバージョンのファイル時間とファイルサイズが同じ場合です。
1つのオプションは、NFSサーバー管理者rsync
に接続できるサービスがあることを確認することです。 (rsyncd
これはLinux / Unixプラットフォームのオプション、またはWindowsプラットフォームのDeltaCopyサーバーです。どちらもユーザー認証を要求するように設定できます。)これにより、rsync
デルタアルゴリズムにアクセスして変更のみを書き込むことができます。
もう 1 つのオプションは、ストレージ管理者がブロックベースの変更の追跡など、バックアップの推奨事項があることを確認することです。彼らはユーザーとしてあなたに適したバックアップ計画を作成することができます。