最小限の帯域幅を使用して、専用サーバー上のいくつかの大きなディレクトリを毎日別のサーバーにバックアップしようとしています。
RSyncはタスク次第のように見えますが、最適なコマンドスイッチがわかりません
SSH経由で別のマシンの1つの「バックアップ」ディレクトリに複数の選択したディレクトリを実行したい
何か案は?
私はあなたがより良いユーザーであることを付け加えたいと思います--numeric-ids
フラグを使用して、ファイルのuid/gidを保持し、ローカルユーザーに再マッピングされないようにします。
履歴バックアップ(たとえば、YYYY-MM-DD daliyディレクトリ)を保持する場合は、オプション--link-dest=DIR
は非常に役立ちます。
データを効果的に圧縮できる場合(ソースコード、プレーンテキストファイル、ログ)、それは-z
非常に便利です。
さもないと、 -aH
あなたのニーズのほとんどをカバーします。
これを実行してみてください(バックアップサーバーから):
rsync \
-a \
--bwlimit=100 \
remote-server:"/path1 /path2 /path3" /local/backup_$(date +%Y%m%d_%H:%M)
--bwlimit=100
はほぼ100KB /秒を表します
日の間にcp -al
でハードリンクを使用できます。これにより、多くのディスク容量とrsync
のみを節約できます。変更されたファイル!
それが rsnapshot
プロジェクトの仕組みです。
rsync
は問題ありませんが、rsyncの 変更検出アルゴリズム を利用するには、いずれかのマシンでrsyncd
を実行する必要があることを忘れないでください。
ハードリンクのsputnickの言及については、 fdupes
にも興味があるかもしれません。