Jak używać narzędzia rsync w systemie Linux do zarządzania plikami w sieci
Opanowanie zarządzania plikami za pomocą rsync na Linuxie z ava.hosting
Zarządzanie plikami w różnych systemach jest łatwe dzięki
rsync, potężnemu Linuxowemu narzędziu do synchronizacji i transferu plików przez sieć. Niezależnie od tego, czy wykonujesz kopię zapasową danych, lustrzane odwzorowanie katalogów, czy migrację plików na wysokowydajnych VPS lub serwerach dedykowanych ava.hosting,
rsynczapewnia efektywność, kopiując tylko zmiany między źródłem a miejscem docelowym. Na przykład, możesz użyć
rsync, aby wykonać kopię zapasową plików swojej strony internetowej hostowanej na ava.hosting na zdalnym serwerze, minimalizując wykorzystanie pasma i czas. Ten przewodnik obejmuje instalację, użycie i automatyzację
rsyncdla bezproblemowego zarządzania plikami, zoptymalizowanego dla niezawodnej infrastruktury ava.hosting.
Instalacja rsync
Większość dystrybucji Linuxa ma rsync zainstalowany domyślnie. Aby sprawdzić, czy jest zainstalowany, uruchom:
rsync --version
Jeśli nie jest zainstalowany, możesz go zainstalować za pomocą menedżera pakietów swojej dystrybucji:
- Debian/Ubuntu:
sudo apt install rsync - RHEL/CentOS:
sudo yum install rsync - Fedora:
sudo dnf install rsync - Arch Linux:
sudo pacman -S rsync
📌 Jak przenieść pliki z Windows na zdalny serwer za pomocą rsync przez PuTTY SSH?
Aby użyć rsync na Windowsie przez PuTTY SSH, musisz mieć zainstalowane:
PuTTY do połączenia SSH
rsync i OpenSSH na Windowsie
Pagent (opcjonalnie) do automatycznej autoryzacji za pomocą klucza SSH
Zainstaluj rsync na Windowsie używając MSYS2
Jeśli pobrałeś MSYS2, możesz łatwo zainstalować rsync używając pacmana, menedżera pakietów MSYS2.
- Zaktualizuj MSYS2 i istniejące pakiety
W terminalu MSYS2 uruchom:
pacman -Syu- Jeśli MSYS2 zamknie się automatycznie po aktualizacji, otwórz go ponownie i uruchom:
pacman -Su✅ Ten krok zapewnia, że masz najnowszą wersję menedżera pakietów.
- Zainstaluj rsync
Teraz zainstaluj rsync używając:
pacman -S rsync
💡 Jeśli potrzebujesz openssh do transferu SSH, zainstaluj to również:
pacman -S openssh
Zweryfikuj instalację
Aby zweryfikować, że rsync został poprawnie zainstalowany, uruchom:
rsync --version
Podstawowa składnia rsync
Podstawowa składnia rsync to:
rsync [options] source destination
Najczęściej używane opcje
- -a : Tryb archiwum (zachowuje linki symboliczne, uprawnienia, znaczniki czasu itp.)
- -v : Szczegółowe wyjście
- -z : Kompresuje dane plików podczas transferu
- -P : Pokazuje postęp podczas transferu
- -r : Rekurencyjnie kopiuje katalogi
- -e : Określa zdalny powłokę (jak SSH)
Używanie rsync do synchronizacji plików lokalnych
Aby zsynchronizować pliki między dwoma lokalnymi katalogami:
rsync -av /source/directory/ /destination/directory/
Znak ukośnika / na końcu źródła zapewnia, że tylko zawartość katalogu jest kopiowana, a nie sam katalog.
Używanie rsync przez sieć
Transfer plików na zdalny serwer
Aby przenieść pliki z lokalnego systemu na zdalny serwer:
rsync -avz /local/directory/ user@remote_host:/remote/directory/*Po dodaniu polecenia w MSYS2, dodamy dane SSH, aby połączyć się z zdalnym serwerem, a wynik zostanie wyświetlony:
To polecenie bezpiecznie kopiuje pliki na zdalny serwer za pomocą SSH.
Sprawdź, czy polecenie zostało pomyślnie wykonane na twoim zdalnym serwerze:
Transfer plików z zdalnego serwera na lokalną maszynę
Aby skopiować pliki z zdalnego serwera na swoją lokalną maszynę. Domyślnie rsync używa SSH do bezpiecznej komunikacji. Możesz jawnie określić SSH z:
rsync -avz -e ssh /local/directory/ user@remote_host:/remote/directory/
Jeśli SSH używa portu, który nie jest domyślny (np. 2222), określ go w ten sposób:
rsync -avz -e "ssh -p 2222" /local/directory/ user@remote_host:/remote/directory/
Synchronizacja i usuwanie dodatkowych plików
Aby usunąć dodatkowe pliki w miejscu docelowym, które nie są obecne w źródle:
Pierwszym krokiem dodajemy dodatkowe pliki w terminalu PuttySSH:
cd /home/user/test_backup/touch file1.txt file2.log file3.jpgmkdir extra_filestouch extra_files/old_file.txtTeraz zsynchronizuj katalog bez pewnych plików, a rsync usunie pliki, które nie są już w źródle:
rsync -av --delete /source/directory/ /destination/directory/
📌 Co to robi?
Wszystkie pliki, które są na serwerze, ale NIE w test/local, zostaną usunięte.
Wynik MSYS2

Wynik PuttySSH

Ostrzeżenie: Używaj –delete ostrożnie, ponieważ trwale usuwa pliki z miejsca docelowego.
Wykluczanie plików i katalogów
Aby wykluczyć konkretne pliki lub katalogi:
rsync -av --exclude 'file_or_directory' /source/ user@remote_host:/destination/Wynik MSYS2

Wynik PuttySSH

Aby wykluczyć wiele plików, użyj:
rsync -av --exclude={'file1','dir1','*.log'} /source/ user@remote_host:/destination/
Uruchamianie rsync jako procesu w tle
Możesz uruchomić rsync w tle używając nohup:
nohup rsync -avz /source/ user@remote_host:/destination/
To pozwala procesowi kontynuować nawet po wylogowaniu.
W lokalnym katalogu dodaliśmy nowy plik new_file.txt33333333, a następnie rozłączyliśmy terminal PuttySSH, a powyższe polecenie pozwala nam wysyłać pliki nawet gdy serwer jest rozłączony.

Automatyzacja transferów plików za pomocą zadań Cron
Aby zaplanować automatyczną synchronizację za pomocą cron, otwórz crontab:
crontab -e
Dodaj zadanie do uruchomienia rsync codziennie o północy:
0 0 * * * rsync -avz /source/ user@remote_host:/destination/
Podsumowanie
rsyncjest niezbędnym narzędziem do zarządzania plikami w Linux, oferującym efektywne możliwości synchronizacji i transferu przez sieci. Niezależnie od tego, czy wykonujesz kopię zapasową strony WordPress, lustrzane odwzorowanie logów, czy migrację danych na niezawodnym VPS ava.hosting,
rsyncoszczędza czas i pasmo. Na przykład, możesz użyć
rsync, aby bezpiecznie wykonać kopię zapasową katalogu
/var/wwwswojego serwera ava.hosting w zdalnej lokalizacji, zapewniając bezpieczeństwo danych. Dzięki ava.hosting’s wysokowydajnej infrastrukturze i
rsync’s wszechstronnym opcjom, możesz uprościć przepływy pracy, zautomatyzować kopie zapasowe i zarządzać plikami z pewnością.



