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, rsync zapewnia 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ę rsync dla 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:

ls -lah /home/user/test_backup/ [put_your_directory]

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.jpg

mkdir extra_files

touch extra_files/old_file.txt

Teraz 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

rsync jest 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, rsync oszczędza czas i pasmo. Na przykład, możesz użyć rsync, aby bezpiecznie wykonać kopię zapasową katalogu /var/www swojego 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ą.