Android

Kako se koristi rsync za lokalni i daljinski prijenos i sinkronizaciju podataka

Linux tutorijal 13 - Komande u terminalu

Linux tutorijal 13 - Komande u terminalu

Sadržaj:

Anonim

Rsync je brz i svestran uslužni program naredbenog retka koji sinkronizira datoteke i mape između dviju lokacija preko udaljene ljuske ili iz / u udaljeni demon Rsync. Omogućuje brz inkrementalni prijenos datoteka prijenosom samo razlike između izvora i odredišta.

Rsync se može koristiti za zrcaljenje podataka, inkrementalne sigurnosne kopije, kopiranje datoteka između sustava i kao zamjena za scp , sftp i cp naredbe za svakodnevnu upotrebu.

U ovom ćemo vam vodiču pokazati kako koristiti rsync kroz praktične primjere i detaljna objašnjenja najčešćih opcija rsync a.

Instaliranje Rsync-a

Uslužni program rsync unaprijed je instaliran na većini Linux distribucija i macOS-a. Možete provjeriti je li instaliran na vašem sustavu upisivanjem:

rsync --version

rsync version 3.1.2 protocol version 31

Instalirajte Rsync na Ubuntu i Debian

sudo apt install rsync

Instalirajte Rsync na CentOS i Fedora

sudo yum install rsync

Sintaksa naredbe Rsync

Prije nego što razmotrimo kako koristiti naredbu rsync , započnimo s pregledom osnovne sintakse.

Izrazi uslužnog programa rsync imaju sljedeći oblik:

Local to Local: rsync…… DEST Local to Remote: rsync…… HOST:DEST Remote to Local: rsync… HOST:SRC…

  • OPTION - Opcije rsync. SRC - SRC izvora. DEST - DEST odredišta. USER - Udaljeno korisničko ime. HOST - Udaljeno ime hosta s IP adrese.

rsync nudi niz mogućnosti koje kontroliraju svaki aspekt njegovog ponašanja. Opcije najčešće korištene su:

  • -a , - --archive , arhivski način rada, ekvivalentan -rlptgoD . Ova opcija upućuje rsync da sinkronizira direktorije rekurzivno, prebacuje posebne i blokirajuće uređaje, čuva simboličke veze, vremena modifikacije, grupu, vlasništvo i dozvole. -z , - --compress . Ova će opcija prisiliti rsync da komprimira podatke dok su poslani na odredišni stroj. Ovu opciju koristite samo ako je veza s udaljenim uređajem usporena. -P , ekvivalentno - --partial --progress . Kad se koristi ova opcija, rsync će prikazati traku napretka tijekom prijenosa i zadržati djelomično prenesene datoteke. To je korisno pri prijenosu velikih datoteka preko sporih ili nestabilnih mrežnih veza. --delete . Kada koristi ovu opciju, rsync će izbrisati vanjske datoteke s odredišta. Korisno je za zrcaljenje. -q , - --quiet . Ovu opciju iskoristite ako želite suzbiti poruke bez pogreške. -e . Ova vam opcija omogućuje odabir drugog udaljenog ljuska. rsync je prema zadanim postavkama konfiguriran za upotrebu ssh-a.

Osnovna upotreba Rsync-a

Za kopiranje jedne datoteke s jedne na drugu lokalnu lokaciju pokrenuli biste sljedeću naredbu:

rsync -a /opt/filename.zip /tmp/

Korisnik koji izvršava naredbu mora imati dopuštenja za čitanje na odredišnom mjestu i pisanje dozvola na odredištu.

Ako izostavite naziv datoteke s odredišta, kopira datoteku s trenutnim nazivom. Ako želite datoteku spremiti pod drugim imenom, odredite novo ime na odredišnom dijelu:

rsync -a /opt/filename.zip /tmp/newfilename.zip

U primjeru u nastavku stvaramo lokalnu sigurnosnu kopiju datoteka naših web stranica:

rsync -a /var/www/domain.com/public_html/ /var/www/domain.com/public_html_backup/

Ako odredišni direktorij ne postoji, rsync će ga stvoriti.

Vrijedno je spomenuti da rsync daje drugačiji tretman izvornim direktorijima sa slijedećom kosom crtom / . Ako dodate slijedu crtu u izvorni direktorij, ona će kopirati samo sadržaj direktorija u odredišni direktorij. Kad se zadnja kosa crta propusti, rsync će kopirati izvorni direktorij u odredišni direktorij.

Kako koristiti Rsync za sinkronizaciju podataka s / na udaljeni stroj

Kad koristite rsync za daljinski prijenos, mora biti instaliran i na izvornom i na odredišnom stroju. Nove verzije rsync konfigurirane su za korištenje SSH-a kao zadane udaljene ljuske.

U sljedećem primjeru prenosimo direktorij s lokalnog na udaljeni stroj:

rsync -a /opt/media/ remote_user@remote_host_or_ip:/opt/media/ Ako niste postavili lozinku bez lozinke na udaljeni stroj, od vas će se tražiti da unesete korisničku lozinku.

Ako želite prenijeti podatke s daljinskog na lokalni stroj, tada morate koristiti udaljenu lokaciju kao izvor:

rsync -a remote_user@remote_host_or_ip:/opt/media/ /opt/media/

Ako SSH na udaljenom hostu sluša na ulazu koji nije zadani 22, možete definirati port pomoću opcije -e :

rsync -a -e "ssh -p 2322" /opt/media/ remote_user@remote_host_or_ip:/opt/media/

Kod prijenosa velike količine podataka preporučuje se pokretanje naredbe rsync unutar zaslonske sesije ili korištenje opcije -P :

rsync -a -P remote_user@remote_host_or_ip:/opt/media/ /opt/media/

Izuzmi datoteke i direktorijume

Kad isključite datoteke ili mape, trebate koristiti njihove relativne putove do izvora izvora.

Postoje dvije mogućnosti za izuzeće datoteka i mapa. Prva je opcija koristiti argument --exclude i odrediti datoteke i mape koje želite isključiti u naredbenom retku.

U sljedećem primjeru isključujemo node_modules i tmp direktorije koje se nalaze unutar src_directory :

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

Druga opcija je korištenje argumenata --exclude-from i specificiranje datoteka i mapa koje želite izuzeti iz datoteke.

rsync -a --exclude-from='/exclude-file.txt' /src_directory/ /dst_directory/ /exclude-file.txt

node_modules tmp

Zaključak

U ovom su vodiču naučili kako koristiti Rsync za kopiranje i sinkronizaciju datoteka i mapa. Na Rsync-u možete pronaći puno više na stranici Korisničkog priručnika.

Slobodno ostavite komentar ako imate bilo kakvih pitanja.

rsync terminal