似ているが同一ではない2つのフォルダーをマージするにはどうすればよいですか?


11

USBドライブ[宛先]に移動しようとしているFireWireドライブ[ソース]にあるフォルダー(多くのサブフォルダーとファイルでいっぱいです)があります。

すべてのファイルをソースから宛先に移動しようとしています。

私はこれをFinderから始めましたが、プロセスの約8分の1のアクセス許可エラーが発生して停止しました。

ドライブ間でファイルを移動するとき、Finderは最初に「コピー」を行い、次にコピーコマンドが正常に完了した場合にのみ「ソース」を削除すると思います。

つまり、一部のファイル正常にコピーされましたが、どのファイルまたは何個のファイルであるかはわかりません。そこで、SourceからDestination(小さいセット)へのサブフォルダーのコピーを開始、正常にコピーされたらそれらをSourceから削除しました。

そのプロセスを一度に完了できず、「場所」を失ってしまいました

これで、2つの不完全なデータセットが残りました。ソースにはおそらくすでに宛先にあるいくつかのファイル/フォルダーがありますが、すべてがコピーされているわけではありません。

一部のフォルダは部分的にコピーされている可能性がありますが、すべてのサブフォルダなどではありません。

重複を最小限に抑えながら、残りのソースを宛先に移動するための最良の方法を見つけようとしています。ここでは多くのデータについて話している(ソースは398,127アイテムで420.72 GB、宛先は298.84 GBと390,149アイテムである)ので、どういうわけかこれを自動化する必要があることは明らかだ。どうすればいいのか分かりません。

or またはor ChronoSyncgcpで[GNU cp] について考えましたが、どのオプションが最適で、どのプログラムにどの設定を推奨するかを知りたいのですが(どのフラグを使用しますか?または?)--update --archivedittorsync--archivegcpdittorsync


このソフトウェアはすばらしいです。bombich.com(Carbon Copy Cloner)。すべての問題を解決します。
Kassym Dorsel、

CCCやSuperDuperは私が持っているものを複製するのを助けるだけですよね?最初にそれらをマージする必要があります。
TJ Luoma

マージできます。設定を自分で微調整する必要があります。つまり、これらの設定/高度な設定をカスタマイズする
Kassym Dorsel

ああ…知らなかった。ぜひチェックしてみてください。
TJルオマ

回答:


15

ターミナルを開いて、次のいずれかを使用できます(プロセスを停止しても完全に失われないものが必要な場合は、おそらくrsyncが適しています)。

標準的なUNIXの方法

cp -R -v source/. destination

オタクなUNIXの方法(再起動可能)

rsync -vaEW source/ destination

OSXの「簡単な」方法

ditto -V source destination

ソース


1
その「cp」コマンドはソフトリンクを壊しませんか?たとえば、Macアプリは.appラッパー内のリンクを使用する場合があります。(これを行おうとするとき、リンクは常に私にとって大きな未知のものです。)rsyncについての良い点は、(非常に多くのデータを使用して)中断の可能性が大きいため、これは最良の計画かもしれません。
TJルオマ

1

2つのディレクトリツリーで開発ツールのFileMergeを使用すると、コピーされた個々のファイルを確認して、それらの間で差分を作成し、その違いを示すことができます。

それ以外の場合rsyncは、cksumで前述したように、もう少し自動化されている可能性があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.