piątek, 21 września 2012

Kopiowanie plików przez rsync

Rsync to szybkie i niezwykle wszechstronne narzędzie do kopiowania plików. Można kopiować pliki lokalnie i przez sieć z / do innego hosta przez zdalną powłokę albo z / do  zdalnego demona rsync. Rsync oferuje wiele opcji, które kontrolują każdy aspekt jego zachowania. Słynie z algorytmu transferu danych, który zmniejsza ilość danych przesyłanych przez sieć, wysyłając tylko różnicę plików źródłowych i plikami przeznaczenia. Rsync jest szeroko stosowany do tworzenia kopii zapasowych i lustrzanych.Niektóre dodatkowe funkcje rsync
  • wsparcie dla łączy, urządzeń kopiujących, właścicieli, grup i uprawnień
  • może używać zdalnych powłok, w tym ssh i rsh
  • wykluczanie CVS w celu ignorowania tych samych plików
  • nie wymaga uprawnień administratora
  • przetwarzanie potokowe transferowanych plików
Zastosowanie

Rsync używa się w ten sam sposób co rcp, musisz podać źródło i miejsce przeznaczenia, które jedno może być zdalne. np.

 rsync -t *.c foo:src


Polecenie to przenosi wszystkie pliki pasujące do wzorca *. C z bieżącego katalogu do katalogu src na komputerze foo.. Jeżeli jakikolwiek plik istnieje na zdalnym komputerze to zapisywane są tylko różnice między plikiem źródłowym a docelowym.

 rsync-AVZ foo: src / bar / data / tmp

Polecenie to rekursywnie prześle wszystkie pliki z katalogu src/bar z odległego komputera foo do katalogu /data / tmp lokalnego komputera. Pliki są przenoszone w trybie "archiwum", który zapewni, że dowiązania symboliczne, urządzenia atrybuty, uprawnienia, prawa własności są zachowywane. Dodatkowo jest zastosowana kompresja danych w celu zmniejszenia porcji danych przesyłanych przez sieć.

rsync -avz foo:src/bar/ /data/tmp

Ukośnik na końcu źródła zmienia zachowanie poprzedniego polecenia, unika tworzeniu dodatkowego poziomu katalogu w miejscu przeznaczenia. Możesz myśleć o upśniku , kopiuj zawartość katalogu w przeciwieństwie skopiuj do katalogu.
Te polecenia kopiują w ten sam sposób, zachowując atrybuty:

rsync -av /src/foo /dest

rsync -av /src/foo/ /dest/foo


Możesz używać polecenia rsync jako ulepszonego polecenia cp

 rsync ../Dokumenty/* .

polecenie to skopiuje wszystkie pliki z Katalogu Dokumenty do bieżącego katalogu.

Więcej o rsync możesz poczytać w systemowym podręczniku man

Brak komentarzy:

Prześlij komentarz