回答:
--link-dest
スペース効率の良いスナップショットベースのバックアップを作成するために使用します。これにより、バックアップデータの完全なコピーが複数(バックアップ実行ごとに1つ)あるように見えますが、実行間で変わらないファイルは、スペースを節約する新しいコピーを作成する代わりにハードリンクされます。
(実際には、私はまだ同じことを達成するrysnc
-followed-by-cp -al
メソッドを使用しています。両方のテクニックの古いながらも非常に良いランダウンについては、http://www.mikerubel.org/computers/rsync_snapshots/を参照してくださいおよび関連する問題)
この手法の主な欠点の1つは、ディスクエラーが原因でファイルが破損した場合、そのファイルにリンクするすべてのスナップショットで破損するのと同じことですが、オフラインバックアップもあり、これをある程度保護します。他に注意することは、ファイルシステムに十分なinodeがあるか、実際にディスクスペースを使い果たす前にそれらを使い果たすことです(私はext2 / 3のデフォルトで問題を抱えたことはありませんが)。
また、--dry-run
特に--delete*
オプションを使用している場合は、少し健康的な妄想に非常に役立つことを決して忘れないでください。
遅いリンクを介していくつかの巨大なファイルでWebサイトを更新する必要がある場合は、この方法で小さなファイルを転送できます。
rsync -a --max-size = 100K / var / www / there:/ var / www /
次に、大きなファイルに対してこれを実行します。
rsync -a --min-size = 100K --bwlimit = 100 / var / www / there:/ var / www /
rsyncには、Webサイトに便利な多くのオプションがあります。残念ながら、同時更新を検出する組み込みの方法がないため、cronスクリプトにロジックを追加して、巨大なファイルの重複書き込みを回避する必要があります。
--rsh
私の。
私は(速く何かにSSHで暗号を変更するためにそれを使用しました--rsh="ssh -c arcfour"
一連のセットアップにも)ssh
(でそれを使用することをお勧めSをssh-agent
直接話をすることはできませんホスト間でファイルを同期します)。(rsync -av --rsh="ssh -TA userA@hostA ssh -TA -l userB" /tmp/foobar/ hostB:/tmp/foobar/
)。
--time-limit
このオプションを使用すると、rsyncはT分後に停止し、終了します。このオプションは、夜間(混雑していない時間)に大量のデータをrsyncし、日中(混雑した時間)に人々がネットワークの使用を開始する時間になったら停止するときに便利だと思います。
--stop-at=y-m-dTh:m
このオプションを使用すると、rsyncを停止する時間を指定できます。
Batch Mode
バッチモードを使用して、同じ更新セットを多くの同一システムに適用できます。
at
プロセスを強制終了するにはどのように使用していますか?
遅い実行のrsyncがどこまで進んでいるのか疑問に思っていて、-vを使用して転送中のファイルをリストしなかった場合、どのファイルが開いているかを調べることができます。
ls -l /proc/$(pidof rsync)/fd/*
/ procがあるシステム上
たとえば、リモートシステムに大量のスペースが残っているように見えたとしても、たった今rsyncがハングアップしました。このトリックは、私が覚えていない予想外に巨大なファイルを見つけるのに役立ちました。
また、もう少し興味深い情報を教えてくれました-ソケットリンクが壊れているため、もう一方の端は明らかにあきらめました:
/proc/22954/fd/4: broken symbolic link to `socket:[2387837]'
--archive
は、バックアップのようなジョブの標準の選択肢です(デフォルトではありません)。これにより、ソースファイル(許可、所有権など)のほとんどのメタデータが確実にコピーされます。
ただし、それを使用したくない場合、多くの場合--times
、ファイルの変更時間を越えてコピーするを含める必要があります。これにより、rsyncが変更時間を比較し、ファイルが変更されていない場合はスキップするため、実行する次のrsyncが(繰り返し実行していると仮定して)はるかに高速になります。驚いたことに(少なくとも私には)このオプションはデフォルトではありません。
--backup-dir = date +%Y.%m.%d
--delete削除していますが、コピーを作成しています... 念のため
私のは--inplace
。バックアップ用のサーバーがZFSまたはbtrfsを実行しているときに、ネイティブスナップショットを作成すると動作します。
cwrsync-Windows用のRsync http://www.itefix.no/i2/node/10650
このバージョンにはOpenSSHが含まれているため、安全なチャネルでファイルを転送できます。
--partial
中断の場合
--bwlimit=100
帯域幅を制限するには-大きなファイル、ディレクトリのコピーに適しています
bwlimit
何ですか?ビット/秒、バイト/秒?
GlusterFsを使用する場合、サイズがゼロのTファイルにボトルネックがあります。クラッシュしたブリックまたはレプリカ間の同期のために--min-size=1
、クラッシュしたサーバーの空のファイルを同期しないようにする必要があります
--delete-before
たとえば)を使用する場合、これらのオプションが正しく機能するために必要な古い「ビルドリストを最初に」の動作が使用されることです。あなたが使用している他のオプションは、それを可能にするのを止めることが知られています。これは、大きなツリーでrsyncをインタラクティブに使用しており、初期スキャンを強制的に実行して、出力を--progress
正確にしたい場合に役立ちます(つまり、初期スキャン後に新しいオブジェクトが見つからないため、「比較するオブジェクト」カウントは増加しません) )。