Rsync Commad w Linux z 12 praktycznymi przykładami

Rsync Commad w Linux z 12 praktycznymi przykładami

Rsync (synchronizacja zdalna) jest narzędziem wiersza poleceń do synchronizacji plików między dwoma systemami opartymi na UNIX. Rsync może być również używany w tym samym systemie do synchronizacji plików między dwoma katalogami. RSYNC używa algorytmu transferu delta do wysyłania tylko różnic między plikami źródłowymi a istniejącymi plikami do miejsca docelowego. RSync wykorzystuje mniej danych w sieci, aby zachować przepustowość.

Rsync jest zazwyczaj stosowany do tworzenia kopii zapasowych dużych ilości danych lub przesyłania danych między dwoma komputerami. RSYNC obsługuje synchronizację plików lokalnych do lokalnych, lokalnych i. Jednak nie jest obsługiwana synchronizacja plików zdalnych do re-re-refleksji.

W tym poście przyjrzymy się niektórym powszechnym zastosowaniom narzędzia rsync.

Składnia

rsync [opcja…] Źródło… [miejsce docelowe] 
  • Tutaj ŹRÓDŁO Może być lokalnym katalogiem, takim jak „/opt/kopia zapasowa” lub zdalna lokalizacja, taka jak „[e -mail chroniony]:/opt/remotedir/”
  • Także MIEJSCE DOCELOWE można nazwać lokalnym katalogiem lub zdalnym katalogiem systemu
  • Zarówno źródło, jak i miejsce docelowe mogą odnosić się do lokalnego katalogu.
  • Tylko jedno źródło lub miejsce docelowe może być pilotem. Nie możesz używać obu odległych lokalizacji.

Opcje poleceń rsync

RSync oferuje wiele przydatnych opcji, które kontrolują każdy aspekt jego zachowania i czyni go bardziej elastycznym dla synchronizacji plików. Poniżej znajduje się lista niektórych często używanych opcji poleceń RSYNC:

  • -v, -vv -vvv, --verbose - Ta opcja jest używana do godnych dzienników na standardowym wyjściu. Domyślny rsync działa w milczeniu. Im wyższa liczba „v” zwiększa poziom rejestrowania.
  • -A, -Archiwum - Jest najczęstszą opcją używaną z poleceniem RSYNC. Tryb archiwum jest równoważny opcjom -RlptGod . Zasadniczo zawiera wszystkie niezbędne opcje, takie jak rekurencyjne, zachowanie uprawnień do plików, symboliczne linki, własność plików i znaczniki czasu.
  • -Z, -Compress - Użyj tej opcji, aby przesyłać dane w formacie sprężonym. Co jest przydatne do oszczędzania przepustowości.
  • -H,-czytanie w ludziach - Użyj tej opcji, aby wydrukować wszystkie wyjścia w formacie czytelnym człowieka.
  • --usuwać - Użyj tej opcji tylko wtedy, gdy chcesz usunąć pliki w miejscu docelowym, co nie istnieje w źródle.
  • --exclude = wzór - Wyklucz pliki z RSync, dopasowując dany wzór.
    rsync -exclude '*.src/ dest/ jpg 
  • --obejmują = wzór - Dołącz pliki w rsync pasującym do podanego wzoru.
    rsync -Include '*.jpg '--include'*.txt ' -exclude'*'src/ dest/ 

Przykłady rsync

Oto 12 praktycznych przykładów polecenia RSYNC w systemach Unix/Linux.

  1. Kopiuj/synchronizę i katalogi lokalne do lokali
  2. RSYNC umożliwia synchronizację plików między katalogami w systemie lokalnym. Na przykład mam kilka plików kopii zapasowych na moim komputerze /MNT/Backup informator. Chcę skopiować/zsynchronizować wszystkie pliki z dyskem USB, który jest zamontowany /mnt/dysk1. Użyj następującego polecenia, aby zsynchronizować wszystkie pliki i katalogi z /Opt/Backup do /mnt /dysk1.

    rsync -AvHz/opt/backup/mnt/disk1/  Wysyłanie przyrostowej listy plików kopii zapasowej/ kopii zapasowej/ Tecadmin.22 MAR2022.SQL Backup/Tecadmin.22 MAR2022.smoła.GZ Backup/Tecadmin.23 MAR2022.SQL Backup/Tecadmin.23 MAR2022.smoła.GZ wysłał 1.09G bajtów otrzymało 96 bajtów 23.39 mln bajtów/SEC Całkowity rozmiar wynosi 1.47 g szybkość wynosi 1.35 
    Kopiuj/synchronizację plików i katalogi między dwoma lokalnymi katalogami

  3. Kopiuj/synchronizę i katalogi lokalne
  4. Korzystając z RSync, możemy szybko skopiować/synchronizować pliki z lokalnych do zdalnych systemów. Na przykład muszę przenieść stronę internetową na nowy serwer. Wymagało to treści witryny, aby była kopią zdalnych systemów. Użyj poniższego polecenia, aby skopiować wszystkie pliki z lokalnego /var/www/html katalog do pilota (192.168.1.100) Systems/var/www/html katalog.

    rsync -AvHz/var/www/html [e -mail chroniony]:/var/www/html/  

    Powyższe polecenie jest pomocne dla administratora systemu, który regularnie kopiuje pliki między dwoma systemami.

  5. Kopiuj/synchroniza
  6. Polecenie rsync pozwala również źródło jako zdalny katalog, ale wówczas miejsce docelowe musi być lokalne. Użyj katalogu źródłowego z hosta zdalnego, a miejscem docelowym musi być katalog lokalny. Na przykład muszę skopiować wszystkie przechowywane pliki kopii zapasowych /kopie zapasowe katalog na pilocie do katalogu lokalnego /opt /kopii zapasowej.

    rsync -AvHz [e -mail chroniony]:/kopie zapasowe/opt/kopie zapasowe  

  7. Korzystanie z rsync nad SSH
  8. RSYNC łączy się z systemami zdalnymi przy użyciu demona RSync bezpośrednio przez TCP. Możemy poinstruować RSync, aby użyć bezpiecznej powłoki (SSH) do łączenia systemów zdalnych, zamiast tworzenia połączenia TCP.

    Używać -mi opcja określenia zdalnej powłoki. Poniższe polecenie użyje SSH jako zdalnej powłoki:

    rsync -AvHz -e ssh/src [e -mail chroniony]:/dest/  

    Jeśli serwer SSH w miejscu docelowym działa na niestandardowym porcie, użyj tego samouczka, aby podłączyć RSYNC przez niestandardowy port.

  9. Ignoruj ​​pliki i katalogi już istnieją w miejscu docelowym
  10. Użyj polecenia rsync z --ignorowanie istnienia opcja zignorowania wszystkich plików, które już istnieją w miejscu docelowym. Na przykład chcesz zaplanować skrypt kopii zapasowej, aby codziennie kopiować wszystkie pliki na dysku tworzenia kopii zapasowych. W takim przypadku nie chcesz kopiować wszystkich plików wielokrotnie. Ta opcja skopiuje te pliki, które nie są dostępne w miejscu docelowym.

    rsync -AvHz -ignore -e -istnianie /opt /backups /mnt /dysk1  

  11. Zaktualizuj plik tylko wtedy, gdy źródło jest nowsze
  12. Używać --aktualizacja Opcja aktualizacji pliku na zdalnym tylko wtedy, gdy istnieje nowsza wersja, jest lokalna. Rsync utworzy plik w miejscu docelowym, jeśli nie istnieje. Ponadto plik aktualizacji w miejscu docelowym lokalnego znacznika czasu jest nowszy niż zdalny plik systemowy.

    rsync -update -AvHz/opt/backups/mnt/disk1/  

  13. Usuń plik ze źródła po synchronizacji
  14. Używać --Usuń pliki source opcja usunięcia pliku ze źródła po pomyślnym przeniesieniu do miejsca docelowego. Na przykład musisz zaplanować kopię zapasową plików dziennika do systemu zdalnego. Chciałem również zdalnie rejestrować plik z systemu lokalnego po pomyślnym skopiowaniu do pilota. Pomoże to zdobyć przestrzeń na dysku.

    rsync--Remove-Source-Files -AvHz/var/log [e-mail chroniony]:/kopia zapasowa/logs/  

  15. Wyklucz określony plik lub katalog za pomocą RSync
  16. Możesz określić plik lub wzór z --exclude = wzór opcja wykluczenia z RSYNC.

    rsync -Avh -exclude '*.Zip ' -exclude'*.log ' /src [e -mail chroniony]: /dest  

  17. Dołącz określone pliki z rsync
  18. Domyślny rsync zawiera wszystkie pliki w drzewie katalogu źródłowego. Teraz musisz dołączyć tylko określone pliki, aby zsynchronizować się z miejscem docelowym.

    Tutaj możesz określić --obejmują = wzór Aby dołączyć określone pliki i wykluczyć wszystkie pliki za pomocą * .

    rsync -avhz -include '*.jpg '--include'*.txt '--exclude'*' /src [e -mail chroniony]: /dest  

  19. Wyświetl postęp z rsync
  20. Używać --postęp opcja wyświetlania postępów podczas przesyłania pliku między źródłem a miejscem docelowym za pomocą polecenia RSYNC.

    rsync -Avh --progress /src [e -mail chroniony]: /dest  

  21. Uprawnienia do pliku chnage z rsync
  22. Możesz poinstruować rsync, aby zmienił właściciela plików i właścicieli grup w miejscu docelowym. Użyj opcji --chown = użytkownik: grupa z rsync, aby zmienić zgodę pliku.

    rsync -Avh --chown = użytkownik: grupa /src [e -mail chroniony]: /dest  

    Podobnie możesz użyć -chmod = chmod opcja zmiany uprawnień do pliku lub katalogu w miejscu docelowym.

    rsync -Avh --chmod = 755 /src [e -mail chroniony]: /dest  

  23. Tylko rsync suchy bieg
  24. Używać --próba opcja wykonania tylko suchego biegu. Pokaże ci podobne wyniki jako oryginalne polecenie, ale nic nie zaktualizuje się w miejscu docelowym. Zasadniczo możemy użyć tego do sprawdzenia, co RSync zaktualizuje przed uruchomieniem.

    rsync -Avh - -dry -run /src [e -mail chroniony]: /dest  

Wniosek

RSync to doskonałe narzędzie do przesyłania dużych ilości danych między dwiema maszynami. W tym artykule możesz również użyć RSYNC do tworzenia kopii zapasowych całego systemu w odległej lokalizacji tworzenia kopii zapasowych. W tym artykule nauczyłeś się praktycznych przykładów poleceń rsync, które są idealne do codziennych zadań.