Najlepsze opcje rsync do przesyłania danych między dwoma komputerami Mac

9

Mam zamiar przenieść moje dane ze starego iMaca na zupełnie nowy MacBook Pro. Chciałbym zacząć od nowej instalacji na B i skopiować tylko część moich danych, ponownie instalując aplikacje od zera, więc nie rozważam skorzystania z pomocy w migracji.

Zastanawiam się nad użyciem rsync do wykonania tej pracy, ale nie jestem pewien, jakich opcji powinienem użyć.

Czytając strony podręcznika, wyszedłem z tym:

rsync -vazHE --progress -e ssh andrea@imac:/remote/dir /local/dir/ 2> errors.log
  • v: pełne
  • Odp .: archiwizuj, aby zachować czasy, linki symboliczne, uprawnienia, grupy, właścicieli i katalogi przechodzące rekurencyjnie
  • z: do kompresji danych
  • H: aby zachować wszelkie twarde łącze
  • E: aby zachować rozszerzone atrybuty
  • postęp: mieć oko na postęp pracy

Czy nie rozważam innych użytecznych opcji?

Ameba Spugnosa
źródło
Przeniosłem swoje dane, a polecenie działało jak urok. Sprawdziłem niektóre przykładowe dane za pomocą MD5 i wszystko było w porządku, z wyjątkiem folderu iPhoto, w którym miałem odpowiedni rozmiar, ale o wiele więcej plików niż oczekiwano. Podejrzewam, że istnieją linki, które nie były poprawnie obsługiwane.
Ameba Spugnosa,
Jeśli zdarzy ci się to powtórzyć, rozważ Truck.app. Napisałem to, aby rsync był tak prosty jak „przeciągnij i upuść”. Ma dobre opcje domyślne, ale jeśli to konieczne, możesz dostać się tam w komorze
dave

Odpowiedzi:

6

Osobiście byłbym skłonny upuścić zprzełącznik. Kompresja jest naprawdę przydatna tylko w przypadku bardzo wolnych połączeń (danych mobilnych, połączeń telefonicznych), ponieważ procesor może stać się wąskim gardłem. Z pewnością widziałem spadek przepustowości z włączoną kompresją.

Zakładając, że twoja sieć jest zaufana, dobrze byłoby użyć bardziej wydajnego, ale być może mniej bezpiecznego szyfru SSH, takiego jak Blowfish lub Arcfour, ponieważ to prawdopodobnie nieco przyspieszy operację (z pewnością pomaga to w VNC przez SSH lub przekierowaniu X11 przez SSH). Możesz włączyć w następujący sposób:

-e="ssh -c blowfish"

lub:

-e="ssh -c arcfour"

Wierzę, że możesz użyć rshzamiast tego, sshktóry wymaga nieco konfiguracji, ale jest całkowicie niepewny, ale znacznie szybszy.

Używam również -hprzełącznika, aby uzyskać więcej czytelnych dla człowieka liczb w MB / s, w przeciwieństwie do b / s.

Kładąc wszystko razem:

rsync -vhaHE --progress -e "ssh -c blowfish" andrea@imac:/remote/dir /local/dir/ 2> errors.log
BenLanc
źródło
Wiem, że to stary post, ale bardzo pomógł. Warto wspomnieć, że polecenie ma być uruchamiane z miejsca docelowego, a nie źródła ... chyba że przełączasz się między poleceniami (których z początku nie byłem głupi). Uwielbiam kopie zapasowe! ;)
IncredibleHat