Kako koristiti Rsync za sinkronizaciju novih ili promijenjenih/izmijenjenih datoteka u Linuxu


Kao administrator sustava ili iskusni korisnik Linuxa, vjerojatno ste se susreli ili čak u nekoliko navrata koristili svestrani alat Linux Rsync koji korisnicima omogućuje ekspeditivno kopiranje ili sinkronizaciju datoteka lokalno i udaljeno. To je također izvrstan alat koji se popularno koristi za sigurnosne kopije i zrcaljenje.

Neke od njegovih istaknutih značajki i prednosti uključuju; iznimno je svestran u tome što može kopirati lokalno, na/iz udaljene ljuske ili udaljenog rsync-a, također je izuzetno fleksibilan, dopuštajući korisnicima da navedu bilo koji broj datoteka za kopiranje.

Predloženo za čitanje: 10 praktičnih primjera naredbe Rsync u Linuxu

Nadalje, dopušta kopiranje veza, uređaja, vlasnika datoteke ili imenika, grupa i dopuštenja. Također podržava korištenje bez root privilegija zajedno s mnogim drugim.

Jedna imperativna razlika rsync-a u usporedbi s drugim naredbama za kopiranje datoteka u Linuxu je njegova upotreba protokola za daljinsko ažuriranje, za prijenos samo razlike između datoteka ili sadržaja direktorija.

Stoga ćemo u ovom članku ispitati kako nam rsync može pomoći sinkronizirati samo nove ili promijenjene datoteke ili sadržaj direktorija tijekom izrade sigurnosnih kopija i šire u Linuxu.

Za početak, trebate zapamtiti da je konvencionalni i najjednostavniji oblik korištenja rsync sljedeći:

rsync options source destination 

Uz to, zaronimo u neke primjere da bismo otkrili kako gornji koncept zapravo funkcionira.

Lokalno sinkroniziranje datoteka pomoću Rsync

Koristeći donju naredbu, mogu lokalno kopirati datoteke iz svog Dokumenti direktorija u /tmp/documents direktorij:

rsync -av Documents/* /tmp/documents

U gornjoj naredbi, opcija:

  1. -a – označava način arhiviranja
  2. -v – znači opširno, prikazuje detalje tekućih operacija

Prema zadanim postavkama, rsync samo kopira nove ili promijenjene datoteke od izvora do odredišta, kada dodam novu datoteku u svoj direktorij Dokumenti, to se događa nakon pokretanja iste naredbe drugi put:

rsync -av Documents/* /tmp/documents

Kao što možete primijetiti iz izlaza naredbe, samo se nova datoteka kopira u odredišni direktorij.

Predloženo za čitanje: Kako sinkronizirati dva Apache web poslužitelja/web stranice pomoću Rsync

Opcija --update ili -u omogućuje rsync da preskoči datoteke koje su još uvijek nove u odredišnom direktoriju i jednu važnu opciju, --dry-run ili -n nam omogućuje da izvršimo probnu operaciju bez ikakvih promjena. Pokazuje nam koje datoteke treba kopirati.

rsync -aunv Documents/* /tmp/documents

Nakon izvođenja probnog rada, možemo ukloniti -n i izvesti stvarnu operaciju:

rsync -auv Documents/* /tmp/documents

Sinkronizacija datoteka s lokalnog na udaljeni Linux

U donjem primjeru kopiram datoteke s lokalnog računala na udaljeni poslužitelj s IP adresom – 10.42.1.5. Kako bismo sinkronizirali samo nove datoteke na lokalnom računalu, koje ne postoje na udaljenom računalu, možemo uključiti opciju --ignore-existing:

rsync -av --ignore-existing Documents/* [email :~/all/

Nakon toga, kako bismo sinkronizirali samo ažurirane ili izmijenjene datoteke na udaljenom računalu koje su se promijenile na lokalnom računalu, možemo izvršiti prosuhi rad prije kopiranja datoteka kao što je navedeno u nastavku:

rsync -av --dry-run --update Documents/* [email :~/all/
rsync -av --update Documents/* [email :~/all/

Kako bismo ažurirali postojeće datoteke i spriječili stvaranje novih datoteka na odredištu, koristimo opciju --existing.

Možete proći kroz stranicu man rsync kako biste otkrili dodatne korisne opcije za naprednu upotrebu, kao što sam ranije spomenuo, rsync je vrlo moćan i svestran Linux alat, a mnogi sustavi Administratori i napredni korisnici Linuxa znaju koliko je to korisno.

Ono što je najvažnije, također možete podijeliti svoje mišljenje o primjerima koje smo ovdje obradili ili još bolje, ponuditi nam vrijedne savjete o korištenju ovog vitalnog alata naredbenog retka kroz odjeljak za komentare ispod.