Rsync (daljinska sinkronizacija): praktični primjeri Rsync

Rsync je alat baziran na Linuxu koji se može koristiti za sinkronizaciju datoteka između udaljenih i lokalnih poslužitelja. Rsync ima mnogo opcija koje vam mogu pomoći da definirate veze koje uspostavljate. Od odlučivanja o vrsti ljuske koju treba koristiti do datoteka koje bi trebale biti isključene u prijenosu, Rsync vam daje moć oblikovanja specifikacija prijenosa.

  • Prednost inkrementalnog sigurnosnog kopiranja može se koristiti, podržava utičnicu, nekoliko (klizni nosači, referenca su klijenta)
  • Udaljena ljuska kolega također može šifrirati (ssh) prijenos, utičnicu, potreban vam je šifrirani prijenos ili se usluga može koristiti ××× ipsec usluga.
  • Rsync koristi metodu kompresije i dekompresije dok šalje i prima podatke na oba kraja što dovodi do ukupne manje potrošnje propusnosti.
  • Rsync ima podršku za kopiranje uređaja, grupa, veza, vlasnika i dopuštenja.

U sljedećem tutorijalu upotrijebit ćemo neke od najčešćih primjera korištenja Rsynca.

Instalirajte Rsync na Linux

U nastavku su neki od najčešćih Linux sustava i kako instalirati Rsync.

Instalirajte Rsync Alma Linux, Fedora, Rhel, Rocky Linux distribucije

sudo yum install rsync -y

Instalirajte Rsync Debian, Linux Mint, Ubuntu distribucije

sudo apt install rsync -y

Oglas


Sintaksa naredbe Rsync

Prvo, korisno je poznavati osnove sintakse Rsync, koja je jednostavna i djeluje na sličan način rada CP, SCP i SSH. Neki primjeri su sljedeći:

funkcijaPrimjer sintakse
Lokalna sinkronizacija:rsync {options} {Source} {Destination}
Povlačenje daljinske sinkronizacije:rsync {options} @ :
Push daljinske sinkronizacije:rsync @ :
  • UNIŠTENJE – Imenik odredišta.
  • DOMAĆIN – Udaljeno ime hosta ili IP adresa.
  • OPCIJA – Opcije rsync.
  • SRC – Izvorni imenik.
  • USER – Udaljeno korisničko ime.

Rysnc naredbe

Rsync dolazi sa značajnim brojem opcija za kontrolu kako primijeniti i koristiti softver za sinkronizaciju. Neke od najčešćih naredbi su u nastavku:

naredbaSvrha
-a, –arhivaarhivirajte datoteke i direktorij tijekom sinkronizacije ( -a jednako sljedećim opcijama -rlptgoD)
-b, –pričuvna napravite sigurnosnu kopiju tijekom sinkronizacije
-l, –poveznicekopirajte simbolične veze kao simbolične veze tijekom sinkronizacije
-d, –brisatibriše suvišne datoteke s odredišne ​​lokacije.
-e, –rsh=NAREDBAspomenuti udaljenu ljusku za korištenje u rsync
-h, –ljudski čitljiv prikazati izlazne brojeve u formatu čitljivom za ljude
-u, –ažurirati   nemojte kopirati datoteke s izvora na odredište ako su odredišne ​​datoteke novije
-r, –rekurzivno     sinkronizirati datoteke i direktorije rekurzivno
-n, –na suho   izvršiti probni rad bez sinkronizacije
–p, –napredakprikazuje napredak sinkronizacije tijekom prijenosa
-z, –stisnuti   komprimirati podatke datoteke tijekom prijenosa
-q, –tiho   potisnuti izlaz poruke
-v, –glasav  opširni izlaz

Oglas


Kopiraj/Sinkroniziraj datoteke i direktorij lokalno

Sljedeća naredba će sinkronizirati jednu datoteku na lokalnom računalu s jednog mjesta na drugo mjesto. Primjer će uzeti sljedeću datoteku (sigurnosna kopija.zip) i kopirajte ga ili sinkronizirajte s (/tmp/backups/) mapa.

rsync -zvh backup.zip /tmp/backups/

Napomena, čak i ako put ne postoji, naredba Rsync može stvoriti direktorij.

Kopirajte/sinkronizirajte direktorij na lokalnom računalu

Za prijenos ili sinkronizaciju svih datoteka iz jednog direktorija u drugi direktorij na istom stroju. Primjer koji ćete vidjeti ovdje je uzimanje (Preuzimanja) direktorij i ponovno stvaranje sigurnosne kopije na sinkroniziranoj lokaciji (/tmp/backups/).

rsync -avzh /home/joshua/Downloads /tmp/backups/
Rsync (daljinska sinkronizacija): praktični primjeri Rsync

Oglas


Kopirajte direktorij s lokalnog poslužitelja na udaljeni poslužitelj

Rsync se može koristiti za sinkronizaciju imenika na i s lokalnih poslužitelja na udaljene poslužitelje. U sljedećem primjeru koristit ćemo mapu (pričuvna kopija) na vašem lokalnom poslužitelju za slanje udaljenim strojevima u vašoj internoj ili vanjskoj mreži.

rsync -avz backup/ root@192.168.50.107:/home/

Kopirajte/sinkronizirajte udaljeni imenik na lokalni stroj

Sljedeći primjer udaljenog imenika Rsync sinkronizirat će se na suprotan način u to vrijeme. Sljedeći primjer isječka koda koristit će Rsync za sinkronizaciju udaljenog direktorija s vašim lokalnim poslužiteljem. Primjer imenika (/home/josh/backup/packages) za kopiranje na vaš lokalni poslužitelj (/tmp/packages).

rsync -avzh root@192.168.50.107:/home/josh/backup/packages /tmp/packages

Oglas


Kopirajte datoteku s udaljenog poslužitelja na lokalni poslužitelj pomoću SSH-a

Jedan od najpopularnijih načina prijenosa podataka između lokalnih i udaljenih poslužitelja je korištenje SSH-a (Sigurna školjka) budući da su podaci zaštićeni u zaštićenoj vezi i šifrirani tako da nitko ne može pročitati podatke u prijenosu, što je, s obzirom na zabrinutost za privatnost ovih dana, kritičan čimbenik.

Da biste naveli protokol s rsync sa SSH, morate navesti (-i) opcija protokola prema početku vodiča s osnovnim naredbama i sintaksom.

rsync -avzhe ssh root@192.168.50.107:/home/josh/packages /tmp/

Kopirajte datoteku s lokalnog poslužitelja na udaljeni poslužitelj pomoću SSH-a

Sljedeći primjer će pokazati suprotno s rsync sinkroniziranjem datoteke, ovaj put s vašeg lokalnog poslužitelja na udaljeni interni ili vanjski poslužitelj koristeći SSH i Rsync.

rsync -avzhe ssh images.zip root@192.168.50.107:/uploads/

Oglas


Isključi datoteke i direktorije

Ove dvije opcije vam omogućuju isključiti datoteke navođenjem parametara. Prva opcija je korištenje (-isključiti) argument i navedite datoteke i direktorije koje želite isključiti u naredbenom retku.

Prvo, kada izuzmete datoteke ili direktorije, morate biti sigurni da koristite relativne putove do izvornog odredišta, inače će isključivanje pogrešnih datoteka ne uspjeti ili će imati netočne rezultate. U sljedećem prvom primjeru vidjet ćete opciju za izuzimanje (predmemorija) i (tmp) imenici:

rsync -a --exclude=cache --exclude=tmp /src_directory/ /dst_directory/

U drugoj opciji ćete koristiti (–isključi-iz) opciju i navedite datoteke i direktorije koje želite isključiti koji su pohranjeni u datoteci:

rsync -a --exclude-from='/exclude-file.txt' /src_directory/ /dst_directory/
Rsync (daljinska sinkronizacija): praktični primjeri Rsync

Postavite maksimalnu veličinu datoteka za prijenos

Sljedeći primjer ograničit će veličinu datoteka za sinkronizaciju. Ovo je korisno za konstantno izvođenje rsync između lokalnih i udaljenih računala gdje bi se datoteke mogle napuhati ili faktori propusnosti dolaze u igru.

rsync -avzhe ssh --max-size='100k' /var/log root@192.168.0.100:/home/josh/logs

Napomena, morate navesti veličinu. Na primjer, KB koristi K, MB koristi M, a GB koristi G.


Oglas


Prikaži napredak tijekom prijenosa podataka pomoću rsync

Još jedna popularna značajka kod sinkronizacije velikih direktorija je vidjeti napredak. To se može učiniti u sljedećem primjeru pomoću opcije (-progress), koja će prikazati datoteke i vrijeme preostalo do završetka prijenosa.

rsync -avzhe ssh --progress images.zip root@192.168.50.107:/uploads/

Nemojte sinkronizirati/kopirati izmijenjene datoteke s odredišta

Ponekad ćete možda zahtijevati da se izvor ne sinkronizira i kopira sve promjene s odredišta. Primjer za to bi bio sigurnosno kopiranje svih datoteka na poslužitelj za sigurnosnu kopiju, a vi želite da se sinkronizira samo izvor i zanemari sve promjene na odredištu jer one neće biti važeće na vašem izvornom poslužitelju kako biste izbjegli oštećenje.

To se može učiniti korištenjem -u zastava u naredbi rsync.

rsync -avzu root@192.168.50.107:/uploads/ /backup/website1

Oglas


Komentari i zaključak

Rsync je vjerojatno jedan od najučinkovitijih, najpristupačnijih i najsigurnijih načina za sinkronizaciju datoteka između operacijskih sustava i poslužitelja. Jedan nedostatak je taj što rsync može slučajno prebrisati vaše datoteke, pa je od vitalnog značaja da sve još jednom provjerite prije sinkronizacije ili upotrebe (-testno pokretanje) opcija.

Rsync je fantastičan za premještanje složenih sinkronizacija datoteka i za prijenos velikog broja datoteka. Za mnoge korisnike bolje je koristiti Rsync za premještanje velikih serija datoteka nego SCP. Kada se koristi s cron, Rsync također može napraviti automatske sigurnosne kopije. Iako može izgledati i zvučati teško, Rsync može biti koristan i postići stvari koje manje zastrašujuća sučelja možda neće moći.

Ostavite komentar