Jak mogę połączyć dwa podobne, ale nie identyczne foldery?

11

Mam folder (wypełniony wieloma wieloma podfolderami i plikami), który znajduje się na dysku FireWire [źródło], który próbuję przenieść na dysk USB [miejsce docelowe].

Próbuję przenieść wszystkie pliki ze źródła do miejsca docelowego.

Zacząłem to robić za pomocą Findera, ale dało mi to błąd uprawnień około 1/8 drogi przez cały proces, a potem przestałem.

Przenosząc pliki między dyskami, uważam, że Finder najpierw wykonuje „kopię”, a następnie usuwa „źródło” tylko wtedy, gdy polecenie kopiowania zakończyło się pomyślnie.

Oznacza to, że niektóre pliki zostały pomyślnie skopiowane, ale nie mam pojęcia, które i ile. Zacząłem więc kopiować podfoldery ze źródła do miejsca docelowego (mniejsze zestawy) i usunąłem je ze źródła po pomyślnym skopiowaniu.

Skończyło się na tym, że nie byłem w stanie ukończyć tego procesu za jednym razem i straciłem swoje „miejsce”

Więc teraz mam dwa niekompletne zestawy danych. Źródło prawdopodobnie ma niektóre pliki / foldery, które są już w miejscu docelowym, ale nie wszystko zostało skopiowane.

Niektóre foldery mogły zostać częściowo skopiowane, ale nie wszystkie ich podfoldery itp.

Próbuję znaleźć najlepszy sposób na przeniesienie reszty źródła do miejsca docelowego, minimalizując przy tym duplikację. Mówimy tutaj o wielu danych (źródło to 420,72 GB w 398,127 elementach, a Miejsce docelowe to 298,84 GB i 390,149 elementów), więc oczywiście będę musiał spróbować jakoś to zautomatyzować . Po prostu nie jestem pewien jak.

Myślałem o gcp[GNU CP] z --update --archivelub dittolub rsynclub ChronoSync ale po prostu nie jestem pewien, co jest najlepszym rozwiązaniem i jakie ustawienia należy używać do w zależności od tego programu byłoby zalecane (chcę --archivez gcp? Co flagi chciałbym skorzystać z dittolub rsync?)

TJ Luoma
źródło
To oprogramowanie jest niesamowite: bombich.com (Carbon Copy Cloner). Rozwiązuje wszystkie twoje problemy.
Kassym Dorsel 17.11.11
CCC lub SuperDuper pomogą mi tylko powielić to, co mam, prawda? Najpierw muszę je scalić.
TJ Luoma,
Może się łączyć. Będziesz musiał sam dostosować ustawienia. tj. dostosuj te ustawienia / ustawienia zaawansowane
Kassym Dorsel,
Ach… nie wiedziałem tego. Na pewno to sprawdzę.
TJ Luoma,

Odpowiedzi:

15

Możesz otworzyć Terminal i użyć jednego z poniższych ( rsync prawdopodobnie byłby dla ciebie tym, jeśli chcesz czegoś, co nie zostanie całkowicie utracone, jeśli zatrzymasz proces ):

Standardowy sposób UNIX

cp -R -v source/. destination

Naukowy sposób UNIX (restartowalny)

rsync -vaEW source/ destination

„Łatwy” sposób OSX

ditto -V source destination

Źródło


źródło
1
Czy to polecenie „cp” nie zerwie miękkich linków? Na przykład aplikacje Mac wydają się czasami używać linków w opakowaniu .app. (Linki są zawsze dużą niewiadomą, kiedy próbuję to zrobić.) Dobra uwaga na temat rsync, może to być najlepszy plan, ponieważ (przy tak dużej ilości danych) możliwość przerwania jest znacząca.
TJ Luoma,
1

Jeśli użyjesz FileMerge z Narzędzi programistycznych na dwóch drzewach katalogów, będziesz mógł zobaczyć, które pojedyncze pliki zostały skopiowane, ponieważ spowoduje to różnicę między nimi i pokaże różnice.

W przeciwnym razie rsyncmoże być nieco bardziej zautomatyzowany, jak wspomniano powyżej przez cksum.

SJT
źródło