Stăpânirea gestionării fișierelor cu rsync pe Linux utilizând ava.hosting

Gestionarea fișierelor între sisteme este floare la ureche cu rsync, un utilitar Linux puternic pentru sincronizarea și transferul fișierelor într-o rețea. Indiferent dacă faceți copii de siguranță ale datelor, oglindiți directoare sau migrați fișiere pe serverele VPS sau dedicate de înaltă performanță de la ava.hosting, rsync asigură eficiența prin copierea numai a modificărilor între sursă și destinație. De exemplu, puteți utiliza rsync pentru a salva fișierele site-ului web găzduit de ava.hosting pe un server de la distanță, minimizând lățimea de bandă și timpul. Acest ghid acoperă instalarea, utilizarea și automatizarea rsync pentru gestionarea fără probleme a fișierelor, optimizată pentru infrastructura fiabilă a ava.hosting.

Instalarea rsync

Majoritatea distribuțiilor Linux vin cu rsync preinstalat. Pentru a verifica dacă este instalat, executați:

rsync --version

Dacă nu este instalat, îl puteți instala utilizând managerul de pachete al distribuției dvs:

  • Debian/Ubuntu:
    sudo apt install rsync
  • RHEL/CentOS:
    sudo yum install rsync
  • Fedora:
    sudo dnf install rsync
  • Arch Linux:
    sudo pacman -S rsync

📌 Cum să transferați fișiere de pe Windows pe un server la distanță folosind rsync prin PuTTY SSH?
Pentru a utiliza rsync pe Windows prin PuTTY SSH, trebuie să aveți instalat:

PuTTY pentru conexiuneSSH
rsync și OpenSSH pe Windows
Pagent (opțional) pentru autentificarea automată cu cheia SSH

Instalarea rsync pe Windows utilizând MSYS2

Dacă ați descărcat MSYS2, puteți instala rsync cu ușurință utilizând pacman, managerul de pachete al MSYS2.

  • Actualizarea MSYS2 și a pachetelor existente
    În terminalul MSYS2, executați:

pacman -Syu

  • Dacă MSYS2 se închide automat după actualizare, deschideți-l din nou și executați:

pacman -Su
✅ Acest pas vă asigură că aveți cea mai recentă versiune a managerului de pachete.

  • Instalați rsync
    Acum instalați rsync utilizând:

pacman -S rsync


💡 Dacă aveți nevoie de openssh pentru transferul SSH, instalați-l și pe acesta:

pacman -S openssh

Verificarea instalării
Pentru a verifica dacă rsync a fost instalat corect, executați:

rsync --version

Sintaxa de bază rsync

Sintaxa de bază a rsync este:

rsync [options] source destination

Opțiuni utilizate în mod obișnuit

  • a: Mod arhivă (păstrează legăturile simbolice, permisiunile, timestamps-ul etc.)
  • v: ieșire verbală
  • z : Comprimă datele fișierului în timpul transferului
  • P: Afișează progresul în timpul transferului
  • r: Copierea recursivă a directoarelor
  • e : Specificați shell-ul de la distanță (ca SSH)

Utilizarea rsync pentru sincronizarea fișierelor locale

Pentru a sincroniza fișiere între două directoare locale:

rsync -av /source/directory/ /destination/directory/

Bara oblică / din sursă asigură copierea doar a conținutului directorului, nu a directorului în sine.

Utilizarea rsync într-o rețea

Transferul fișierelor către un server la distanță

Pentru a transfera fișiere de pe un sistem local către un server la distanță:

rsync -avz /local/directory/ user@remote_host:/remote/directory/

*După ce am adăugat comanda în MSYS2, vom adăuga datele SSH pentru a ne conecta la serverul la distanță și rezultatul va fi afișat:
Această comandă copiază în siguranță fișierele pe serverul la distanță utilizând SSH.

Verificați dacă comanda a fost îndeplinită cu succes pe serverul de la distanță:

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

Transferul fișierelor de pe un server la distanță pe o mașină locală

Pentru a copia fișiere de pe un server de la distanță pe computerul local. În mod implicit, rsync utilizează SSH pentru comunicarea securizată. Puteți specifica în mod explicit SSH cu:

rsync -avz -e ssh /local/directory/ user@remote_host:/remote/directory/

Dacă SSH utilizează un port care nu este implicit (de exemplu, 2222), specificați-l astfel:

rsync -avz -e "ssh -p 2222" /local/directory/ user@remote_host:/remote/directory/

Sincronizarea și ștergerea fișierelor suplimentare

Pentru a șterge fișierele suplimentare din destinație care nu sunt prezente în sursă:

Primul pas este să adăugăm fișiere suplimentare în terminalul PuttySSH:

cd /home/user/test_backup/

touch file1.txt file2.log file3.jpg

mkdir extra_files

touch extra_files/old_file.txt

Acum sincronizați directorul fără anumite fișiere, iar rsync va șterge fișierele care nu mai sunt în sursă:

rsync -av --delete /source/directory/ /destination/directory/

📌 Ce face?
Toate fișierele care se află pe server, dar NU în test/local vor fi șterse.

Rezultatul MSYS2

PuttySSH rezultat

Avertisment: Utilizați –delete cu prudență, deoarece elimină permanent fișierele de la destinație.

Excluderea fișierelor și a directoarelor

Pentru a exclude anumite fișiere sau directoare:

rsync -av --exclude 'file_or_directory' /source/ user@remote_host:/destination/
Rezultat MSYS2

PuttySSH rezultat

Pentru excluderi multiple, utilizați:

rsync -av --exclude={'file1','dir1','*.log'} /source/ user@remote_host:/destination/

Rularea rsync ca proces în fundal

Puteți rula rsync în fundal utilizând nohup:

nohup rsync -avz /source/ user@remote_host:/destination/ 

Acest lucru permite procesului să continue chiar și după deconectare.

În directiva locală am adăugat un nou fișier new_file.txt33333333, apoi am deconectat terminalul PuttySSH, iar comanda de mai sus ne permite să trimitem fișiere chiar și atunci când serverul este deconectat.

Automatizarea transferurilor de fișiere cu Cron Jobs

Pentru a programa sincronizarea automată utilizând cron, deschideți crontab:

crontab -e

Adăugați un job pentru a rula rsync în fiecare zi la miezul nopții:

0 0 * * * rsync -avz /source/ user@remote_host:/destination/

Concluzie

rsync este un instrument indispensabil pentru gestionarea fișierelor Linux, oferind capacități eficiente de sincronizare și transfer în rețea. Fie că faceți backup la un site WordPress, oglindiți jurnale sau migrați date pe VPS-ul fiabil ava.hosting, rsync economisește timp și lățime de bandă. De exemplu, puteți utiliza rsync pentru a salva în siguranță directorul /var/www al serverului ava.hosting într-o locație la distanță, asigurând siguranța datelor. Cu infrastructura de înaltă performanță a ava.hostingși opțiunile versatile ale rsync, puteți simplifica fluxurile de lucru, automatiza backup-urile și gestiona fișierele cu încredere.