Co to jest tryb archiwizacji w rsync?

169

Wiem, że możesz używać -alub --archiveaktywować tryb archiwizacji podczas korzystania z rsync. Niestety nie mam pojęcia, co powinien zrobić tryb archiwizacji, a strona podręcznika w ogóle nie mówi wprost o tym, co to jest:

równa się -rlptgoD (bez -H, -A, -X)

Czy możesz wyjaśnić, co rlptgoDoznaczają te opcje ( ) i jakie jest zachowanie rsync, gdy ich używam?

cały kod
źródło
20
wyjaśniahell.com
explain?cmd=rsync%20

Odpowiedzi:

203

To wszystko:

-r, --recursive rekurencja do katalogów

-l, --links kopiuje dowiązania symboliczne jako dowiązania symboliczne

-p, --perms zachowują uprawnienia

-t, --times zachowuje czasy modyfikacji

-g, --group zachowaj grupę

-o, - właściciel właściciela zachowania (tylko superużytkownik)

-D to samo co --devices --specials

- urządzenia zachowują pliki urządzeń (tylko superużytkownik)

--specjalne zachowują specjalne pliki

Nie obejmuje:

-H, --hard-links zachowuje twarde linki

-A, --acls zachowują listy ACL (implikuje -p)

-X, --xattrs zachowują rozszerzone atrybuty

Jest idealny do tworzenia kopii zapasowych. Mój „domyślny” zestaw przełączników to -avzP- tryb archiwizacji, gadatliwość, kompresja, zachowanie plików częściowych, wyświetlanie postępu.

Uwaga: niezmiennie, gdy w opisach jest napisane „zachowaj”, oznacza to, że miejsce docelowe powinno być jak źródło.

Andrzej
źródło
25
+1 - tak, jest na stronie podręcznika, ale miło jest też zobaczyć go tutaj z odpowiedzią dla łatwego odniesienia
cwd
3
łatwiejsze niż przeglądanie strony podręcznika: P?
Salami,
1
+1 za udostępnienie kombinacji opcji dla kopii zapasowych (-avzP).
RoboAlex 03.03.16
1
tak gdzieś po drodze lmgtfy stało się łatwiejsze niż man rsync.
Stu
1
@xealits Według strony The -P option is equivalent to --partial --progress.
podręcznika
15

Upewnij się, że uprawnienia, atrybuty itp. Są takie same po obu stronach. rsync działa tylko w ten sposób ... jeśli chcesz synchronizować pliki, musisz użyć parametru -a.

Wynika to z faktu, że rsync porównuje te uprawnienia, atrybuty itp. Po obu stronach z ustaleniem, czy są to SAME PLIKI i decyduje, czy należy je zaktualizować. jeśli użyjesz rsync -r xxx rrr zamiast rsync -a xxx rrr, niektóre pliki będą kopiowane raz po raz, bo coz, pozwolenie, atrybut nie zostaną zsynchronizowane i zostaną pominięte po obu stronach ...

David
źródło
14

Przełącznik archiwizacji jest tylko skrótem do pominięcia konieczności wprowadzania wiązki przełączników, których zwykle używasz, jeśli używasz rsync do tworzenia kopii zapasowych (częste zadanie).

To jest tak samo jak pisanie:

rsync -r -l -p -t -g -o -D

I jest o wiele łatwiej zapamiętać. Możesz znaleźć definicje wszystkich tych przełączników na stronie man.

(Łączniki są opcjonalne, gdy łączysz wiele przełączników jednoliterowych.)

Steve Simms
źródło
8
dzięki, ale myślę, że nie rozumiesz. Czy możesz wyjaśnić, co łączy wszystkie te opcje bez przeczytania 7 różnych części strony podręcznika, które prawdopodobnie odnoszą się do innych części strony podręcznika?
allyourcode
17
Myślę, że nie rozumiesz, że ważne jest, aby przeczytać stronę podręcznika, aby dokładnie wiedzieć, co robisz. rsync ma kilka bardzo rozbudowanych opcji, w tym sposób usuwania plików! To tak, jakby prosić o pomoc w korzystaniu z piły stołowej, ponieważ nie lubisz czytać instrukcji obsługi.
David M
2
Oczywiście po prostu nie lubię czytać instrukcji obsługi po raz 100, kiedy zamiast tego mogę odnieść się do ściągawki.
CivFan,