2つのフォルダを「スマートに」マージするrsyncコマンドはどれですか?


39

誤って複製したフォルダがいくつかあり、それらを一緒にマージする必要があります。フォルダーAにファイルXが含まれ、フォルダーBにファイルYが含まれているとします。ファイルXをフォルダーBにコピーしたいのですが、もちろん、フォルダーAとBの両方に同じファイルXが含まれるより複雑な場合:そのような場合、ファイルの最新のコピーを保持したいので、rsyncは両方のファイルを比較し、オリジンが古い場合はスキップし、そうでない場合はデスティネーションが古いものを上書きします。

rsyncコマンドラインにどのパラメーターを配置する必要がありますか?

これは私がグーグルを見つけたものですが、私は正しいとは思わない。

rsync -avz --ignore-existing src dest

マニュアルページはどういうわけか私を超えています。

ありがとうございました。

PS両方のフォルダーにファイルが存在する場合、より良い方法は、古いフォルダーを宛先フォルダーに上書きし、同時に古いフォルダーのコピーを保持することです。前

回答:


66

私は使うだろう:

rsync -abviuzP src/ dest/
  • -i デフォルトの形式よりも多くの情報を表示する項目形式をオンにします
  • -b両方のフォルダーに存在するrsyncバックアップファイルを作成~し、古いファイルに追加します。このサフィックスを制御するには--suffix .suf
  • -u srcよりもdestの方が新しいファイルをrsync転送でスキップします
  • -z 圧縮をオンにします。これは、低速リンクを介して簡単に圧縮可能なファイルを転送するときに便利です。
  • -P点灯し--partial--progress
  • --partial 転送が中断された場合、rsyncが部分的に転送されたファイルを保持するようにします
  • --progress 大きなファイルを転送する場合に便利な、各転送の進行状況バーを表示します

2
本当に素晴らしい、私は最終的に使用しましたrsync -abuP
13
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.