Dodanie dwóch przydatnych elementów do wątku o rsync: zmiana szyfru i użycie --update
:
Zgodnie z postem Wolfmana, cp -ax
jest elegancki i fajny dla lokalnych rzeczy.
Jednakże, rsync
jest również świetne. W nawiązaniu do odpowiedzi Michaela dotyczącej -W
, zmiana cypher może również przyspieszyć rzeczy (przeczytaj jednak o wszelkich implikacjach bezpieczeństwa).
rsync --progress --rsh="ssh -c blowfish" / /mnt/dest -auvx
There is some discussion (and benchmarks) around the place about a slow CPU being the actual bottleneck, but it does does seem to help me when machine is loaded up doing other concurrent things.
Jednym z innych ważnych powodów używania rsync w dużych, rekurencyjnych kopiach jak ta jest przełącznik -u (lub –update). Jeśli podczas kopiowania wystąpi jakiś problem, możesz go naprawić, a rsync podejmie pracę tam, gdzie ją zakończył (nie sądzę, żeby scp miał taką możliwość). Robiąc to lokalnie, cp ma również przełącznik -u.
(nie jestem pewien, jakie są implikacje –update i –whole-file razem, ale zawsze wydają się działać sensownie dla mnie w tego typu zadaniach)
Zdaję sobie sprawę, że to nie jest wątek o funkcjach rsync, ale niektóre z najczęstszych, których używam do tego celu to:
- –delete-after etc (jak wspomniał Michael w kontynuacji), jeśli chcesz zsynchronizować nowy system z powrotem do oryginalnego miejsca lub czegoś w tym stylu. I,
- –exclude - dla pomijania katalogów/plików, dla przypadków takich jak kopiowanie/tworzenie nowego systemu w nowe miejsce z pominięciem katalogów domowych użytkowników itp (albo montujesz katalogi domowe z innego miejsca, albo tworzysz nowych użytkowników itp).
Nawiasem mówiąc, jeśli kiedykolwiek będę musiał używać windows, używam rsync z cygwin do robienia dużych kopii rekurencyjnych, z powodu nieco bezmózgiej chęci explorera do zaczynania od początku (chociaż uważam, że Finder w OS X jest jeszcze gorszy)