Linux
rsync
Polecenie to potężne narzędzie do kopiowania plików i synchronizacji folderów. Oto dziesięć typowych przypadków użycia, które będziesz mógł dobrze wykorzystać we własnych systemach.
Narzędzie RSync
.
rsync
Narzędzie kopiuje pliki i katalogi między dwoma komputerami. Używa
Wyrafinowany algorytm
To skanuje drzewa katalogowe, aby znaleźć pliki na komputerze źródłowym, które nie istnieją na komputerze docelowym. Pliki te są przesyłane do komputera docelowego. Co sprawia, że
Rync
tak sprytne, że może dowiedzieć się, które kawałki
istniejący
pliki zostały zmodyfikowane i wysyła tylko
zmienione porcje
.
Możesz użyć
rsync
Aby skopiować pliki do innej lokalizacji na dysku twardym, na inny dysk twardy w tym samym komputerze, do
Zewnętrznie podłączony napęd USB
lub jakąkolwiek inną lokalizację dostępną dla sieci.
Na szczycie tego,
rsync
może opcjonalnie zachować symboliczne łącza, twarde linki i pliki
metadane
takie jak własność plików, uprawnienia i czasy dostępu. Aby wesprzeć całą tę funkcjonalność,
rsync
ma wiele opcji i rozstrzygnięcie ich wymaga czasu. Zebraliśmy te 10 przykładów, aby pomóc Ci zacząć. Pisaliśmy już o tworzeniu kopii zapasowych
rsync
, więc koncentrujemy się na innych zastosowaniach tutaj.
Dla wszystkich jego opcji, struktura
rsync
Polecenie jest proste. Musimy zapewnić źródło, miejsce docelowe i opcje, których chcemy użyć. Prawdopodobnie to znajdziesz
rsync
jest już zainstalowany na komputerze Linux - to było we wszystkich naszych maszynach testowych - ale jeśli nie będzie to na pewno w repozytoriach twojego dystrybucji.
1. Skopiuj pliki do innego katalogu
Oto prosty przykład, aby nas zabrać. Zamierzamy skopiować pliki z katalogu „Project-Files” do katalogu „Dokumenty”. Używamy dwóch opcji,
-A
(archiwum) opcja i
-V
(Verbose) Opcja. Opcja zawieszona
rsync
wyjaśnić, co robi tak, jak to robi. .
archiwum
Opcja zachowuje własność plików i niektóre inne elementy, na które wkrótce spojrzymy.
Za pomocą
LS
W folderze „Dokumenty” pokazuje, że pliki zostały skopiowane.
Chwila
rsync
Działa, pliki są wymienione podczas ich kopiowania. Było powiedziane:
- Liczba wysyłanych bajtów.
-
Liczba otrzymanych bajtów. Zanim nastąpi transfer pliku,
rsyncMusi ustalić, które pliki należy przenieść. Aby to zrobić, należy pobrać niektóre informacje o plikach w miejscu docelowymrsync. Informacje te są zawarte w otrzymanych bajtach. - Prędkość transferu.
- Całkowity rozmiar skopiowanych plików.
- „Spędź”. Jest to stosunek całkowitej wielkości podzielonej przez sumę wysłanych i otrzymanych bajtów. Im wyższa ta liczba, tym bardziej wydajny transfer.
Zmodyfikowaliśmy plik tekstowy w katalogu źródłowym i powtórzyliśmy
rsync
Komenda.
Tym razem jedynym plikiem, który należy zaktualizować, jest modyfikowana przez nas plik tekstowy. Figura przyspieszania wynosi obecnie 30 850. To jest o ile bardziej wydajne jest skopiowanie zmodyfikowanej części tego pojedynczego pliku, niż kopiowanie wszystkich plików.
.
-A
(Archiwum) Opcja faktycznie reprezentuje zbiór innych opcji. To samo, co korzystanie z wszystkich tych opcji:
- R : Rekurencyjnie działaj przez drzewa katalogowe w katalogu źródłowym i skopiuj je do katalogu docelowego, tworząc je, jeśli jeszcze tam nie istnieją.
- L : Skopiuj symlinki jako symLinks.
- P : Zachowaj uprawnienia do plików.
- T : Zachowaj czasy modyfikacji pliku.
- G : Zachowaj uprawnienia do grupy.
- o : Zachowaj własność plików.
- D : Skopiuj specjalne pliki i pliki urządzeń. Specjalne pliki mogą być elementy zorientowane na komunikację, które są traktowane jak pliki, takie jak Gniazda i pierwsze, pierwsze rurki (FIFOS). Pliki urządzeń to specjalne pliki, które zapewniają dostęp do urządzeń i pseudo-urządzeń.
Jest to tak często używana kombinacja, że
rsync
zapewnia
-A
(Archiwum) Opcja jako skrótowy sposób na wywołanie ich wszystkich.
2. Skopiuj katalog do innego katalogu
Jeśli spojrzysz na poprzednie
rsync
Polecenie zobaczysz ciągłe cięcie „/” na ścieżce pliku katalogu źródłowego. To jest znaczące. Mówi
rsync
Aby skopiować
zawartość
katalogu. Jeśli nie zapewnisz ciągłego cięcia do przodu,
rsync
skopiuje katalog
I
to zawiera.
Tym razem nazwa katalogu jest dodawana do nazwy pliku, gdy są wymienione. Jeśli spojrzymy na katalog docelowy, zobaczymy, że folder źródłowy został skopiowany z plikami w nim.
3. Skopiuj katalog na inny napęd
Kopiowanie plików do innej lokalizacji na tym samym dysku twardym nie daje ochrony przed awaria napędu . Jeśli ten dysk rezygnuje z ducha, straciłeś kopie źródłowe i docelowe tych plików. Skopiowanie ich na inny dysk twardy to znacznie bardziej niezawodny sposób ochrony danych. Wszystko, co musimy zrobić, to podać właściwą ścieżkę do napędu docelowego.
Patrząc na drugi dysk twardy pokazuje nam, że katalog i pliki zostały do niego skopiowane.
4. Najpierw wykonując suchy bieg
Zanim spojrzymy na to, jak
rsync
Może użytecznie usunąć dla nas pliki, spójrzmy, jak możemy zrobić
rsync
Wykonaj suchy bieg.
W suchym biegu,
rsync
Przechodzi wnioski o działania, o które prosiliśmy, ale tak naprawdę ich nie robi. Zgłasza, co by się stało, gdyby polecenie zostało wykonane. W ten sposób możemy upewnić się, że polecenie robi dokładnie to, czego oczekujemy.
Aby wymusić suchy bieg, używamy
--próba
opcja.
Pliki, które zostałyby skopiowane, są dla nas wymienione i otrzymujemy zwykłe statystyki, a następnie wiadomość
(PRÓBA)
abyśmy nie wiedzieli, że nic nie miało miejsca.
5. Usuwanie plików w katalogu docelowym
.
--usuwać
Opcja mówi
rsync
usunąć
pliki i katalogi
w
miejsce docelowe
katalog, który nie ma w katalogu źródłowym. Oznacza to, że katalog docelowy będzie dokładną kopią katalogu źródłowego. Będziemy ostrożni i użyjemy
--próba
Opcja Najpierw.
Jesteśmy poinformowani, że dwa pliki zostaną usunięte. Jeśli jesteśmy pewni, że nie obchodzi nas, aby zostały usunięte, możemy usunąć
--próba
Opcja i wykonaj polecenie rzeczywistości.
Tym razem zawartość katalogów jest zsynchronizowana, a dwa dodatkowe pliki są usuwane.
6. Usuwanie plików źródłowych
Możesz wybrać usuwanie plików źródłowych po
udane transfer
, tworzenie
rsync
Działaj bardziej jak ruch niż kopia. Jeśli transfer nie zakończył się powodzeniem, pliki źródłowe nie są usuwane. Opcja, której musimy użyć
--Remove-Source Files
.
Należy pamiętać, że pliki można usunąć, nawet jeśli żadne pliki nie są przesyłane. To dlatego, że jeśli
rsync
czeki, a wszystkie pliki są już w katalogu docelowym i nie ma nic
rsync
do zrobienia,
rsync
Uważa, że udany transfer.
Również,
rsync
tylko usuwa
akta
Z katalogu źródłowego. Nie usuwa katalogu źródłowego ani żadnych sub-zależności, tylko pliki w nich. Widzimy to za pomocą
-R
(rekurencyjna) opcja z
LS
, w katalogu źródłowym.
7. Skopiuj pliki do komputera zdalnego
Zsynchronizować foldery ze zdalnym komputerem,
rsync
należy zainstalować na obu komputerach. Skonfiguruj komunikację SSH między dwoma komputerami przed próbą użycia
rsync
do komputera zdalnego.
Musisz być w stanie zdalnie zalogować się jako zwykły użytkownik na zdalnym komputerze
rsync
pracować. Nie ma znaczenia, czy używasz identyfikatora i hasła do zalogowania się, czy skonfigurowałeś klucze SSH dla bezpiecznego
bez hasła
dostęp, ale jeśli nie możesz zalogować się jako użytkownik, to
rsync
też nie zadziała.
Jeśli zalogujesz się z hasłem,
rsync
wyruszy na hasło. Jeśli używasz kluczy SSH do rejestrowania, proces jest bezproblemowy.
Jedyną dodatkową rzeczą, którą musisz zrobić, jest dodanie nazwy konta użytkownika i adresu IP komputera zdalnego na początek ścieżki pliku docelowego. Użyj znaku ”
@
„Aby oddzielić nazwę użytkownika od nazwy komputera lub adresu IP oraz dwukropek”
::
„Aby oddzielić nazwę komputera lub
adres IP
ze ścieżki katalogu.
Otrzymujemy te same informacje zgłoszone nam, co robimy, gdy kopiujemy pliki lokalnie.
8. Dołącz lub wyklucz pliki lub katalogi
Możesz mieć pliki i katalogi w katalogu źródłowym, których nie chcesz kopiować do komputera docelowego. Możesz
wykluczyć je
używając
--wykluczać
opcja. W podobny sposób możesz wybrać określone pliki i katalogi do
--włączać
opcja.
Dziwak polega na tym, że jeśli używasz
--włączać
Opcja sama, wszystkie pliki są kopiowane, jak normalnie - w tym specjalnie zawarte pliki. Aby skopiować tylko dołączone pliki, które musisz
--wykluczać
wszystko inne.
Możesz użyć tylu
--włączać
I
--wykluczać
Opcje w swoim poleceniu, jak chcesz, ale upewnij się, że umieścisz swój
--włączać
opcje przed Twoim
--wykluczać
opcje. Upewnij się również, że masz ciągłe cięcie do przodu na ścieżce pliku źródłowego.
To polecenie kopiuje tylko pliki kodu źródłowego C i Pliki danych CSV do komputera docelowego.
Jedyne skopiowane pliki to te, które udostępniliśmy.
9. Kompresuj pliki w przelewu
.
-Z
(Compress) Przyczyny opcji
rsync
Aby skompresować przesyłane pliki. Nie są one przechowywane jako kompresowane pliki na komputerze docelowym, są skompresowane tylko podczas samego przelewu. Może to przyspieszyć długie transfery.
10. Monitorowanie postępów
Mówiąc o długich transferach, możemy dodać niektóre statystyki, abyśmy mogli zobaczyć postęp przeniesienia.
.
-P
(częściowy, postęp) Opcja faktycznie dodaje dwie opcje,
--częściowy
I
--postęp
. .
--częściowy
Opcja mówi
rsync
Aby zachować częściowo przesyłane pliki, jeśli transfer się nie powiedzie. Oszczędza to czas po ponownym uruchomieniu transferu.
.
--postęp
Opcja drukuje, dla każdego pliku, dane przesyłane w bajtach i jako procent, prędkość przeniesienia, czas przejmowany, liczba przesyłanego pliku i liczba pozostałych plików.
Wyjście przewijają już dość szybko i trudno go odczytać. Możesz nieznacznie poprawić rzeczy, usuwając
-V
(Verbose) Opcja z polecenia. Nawet wtedy nadal jest trudny do odczytania, gdy śpią.
Często bardziej przydatne jest monitorowanie postępu ogólnego transferu. Możesz to zrobić z opcją –INFO i przekazywanie go „Progress2” jako parametr.
Jak CP na sterydach
.
rsync
Dowództwo jest szybkie, elastyczne i warte czasu potrzebnego na zapoznanie się z nim. Podstawowa forma
rsync
polecenie z
-Av
Opcje, katalog źródłowy i katalog docelowy wcale nie są trudne do zapamiętania.
W przypadku wielu przypadków użycia to wszystko, czego potrzebujesz. Poczuj się komfortowo, a reszta przychodzi łatwo.
- › Jak tanie VPN mogą kosztować więcej niż się targowałeś
- › Wyze jest przygnębiony, to nie tylko ty
- › Zapomnij o gier komputerowych: laptopy do gier są prawie tak szybkie
- › Twoje następne inteligentne urządzenie domowe może mieć 5G
- › Przestań używać klawiatury i myszy, które są dostarczane z komputerem
- › Bose Quietcomfort Earbuds 2 Recenzja: krok naprzód w celu anulowania hałasu audio