Linux/Mac Terminal Tutorial: How To Use The rsync Command - Sync Files Locally and Remotely
Innholdsfortegnelse:
- Installerer Rsync
- Installer Rsync på Ubuntu og Debian
- Installer Rsync på CentOS og Fedora
- Rsync kommandosyntax
- Grunnleggende Rsync-bruk
- Hvordan bruke Rsync til å synkronisere data fra / til en ekstern maskin
- Ekskluder filer og kataloger
- Konklusjon
Rsync er et raskt og allsidig kommandolinjeværktøy som synkroniserer filer og mapper mellom to lokasjoner over et eksternt skall, eller fra / til en ekstern Rsync-demon. Det gir rask inkrementell filoverføring ved å overføre bare forskjellene mellom kilden og destinasjonen.
Rsync kan brukes til å speile data, inkrementelle sikkerhetskopieringer, kopiere filer mellom systemer og som erstatning for
scp
,
sftp
og
cp
til daglig bruk.
I denne opplæringen vil vi vise deg hvordan du bruker
rsync
gjennom praktiske eksempler og detaljerte forklaringer på de vanligste
rsync
alternativene.
Installerer Rsync
rsync
verktøyet er forhåndsinstallert på de fleste Linux-distribusjoner og macOS. Du kan sjekke om det er installert på systemet ditt ved å skrive:
rsync --version
rsync version 3.1.2 protocol version 31
Installer Rsync på Ubuntu og Debian
Installer Rsync på CentOS og Fedora
Rsync kommandosyntax
Før du går inn på hvordan du bruker
rsync
kommandoen, la oss begynne med å gå gjennom den grunnleggende syntaks.
rsync
har følgende form:
Local to Local: rsync…… DEST Local to Remote: rsync…… HOST:DEST Remote to Local: rsync… HOST:SRC…
-
OPTION
- Alternativer for rsync.SRC
- Kildekatalog.DEST
- Destinasjonskatalog.USER
- Eksternt brukernavn.HOST
- Eksternt vertsnavn for IP-adresse.
rsync
gir en rekke alternativer som kontrollerer alle aspekter av atferden. De mest brukte alternativene er:
-
-a
,--archive
,--archive
, tilsvarer-rlptgoD
. Dette alternativet fortellerrsync
å synkronisere kataloger rekursivt, overføre spesielle og blokkere enheter, bevare symbolske lenker, endringstider, gruppe, eierskap og tillatelser.-z
, ---compress
. Dette alternativet vil tvingersync
til å komprimere dataene når de sendes til destinasjonsmaskinen. Bruk dette alternativet bare hvis tilkoblingen til den eksterne maskinen er treg.-P
, tilsvarer ---partial --progress
. Når dette alternativet brukes, vilrsync
vise en fremdriftslinje under overføring og for å beholde delvis overførte filer. Det er nyttig når du overfører store filer over treg eller ustabil nettverkstilkobling.--delete
. Når du bruker dette alternativet, vilrsync
slette fremmede filer fra destinasjonsstedet. Det er nyttig for speiling.-q
, ---quiet
. Bruk dette alternativet hvis du vil undertrykke meldinger som ikke er feil.-e
. Dette alternativet lar deg velge et annet eksternt skall. Som standard errsync
konfigurert til å bruke ssh.
Grunnleggende Rsync-bruk
For å kopiere en enkelt fil fra en til et annet lokalt sted, kjører du følgende kommando:
rsync -a /opt/filename.zip /tmp/
Brukeren som kjører kommandoen, må ha lesetillatelser på destinasjonsstedet og skrivetillatelser på destinasjonen.
Hvis du unnlater filnavnet fra destinasjonsstedet, kopieres filen med det gjeldende navnet. Hvis du vil lagre filen under et annet navn, spesifiser det nye navnet på destinasjonsdelen:
rsync -a /opt/filename.zip /tmp/newfilename.zip
I eksemplet nedenfor lager vi en lokal sikkerhetskopi av våre nettstedfiler:
rsync -a /var/www/domain.com/public_html/ /var/www/domain.com/public_html_backup/
Hvis destinasjonskatalogen ikke eksisterer, vil
rsync
opprette den.
Det er verdt å nevne at
rsync
gir forskjellig behandling til kildekatalogene med en etterfølgende skråstrek
/
. Hvis du legger til en etterfølgende skråstrek i kildekatalogen, vil den bare kopiere innholdet i katalogen til destinasjonsmappen. Når den etterfølgende skråstrek er utelatt, vil
rsync
kopiere kildekatalogen i destinasjonskatalogen.
Hvordan bruke Rsync til å synkronisere data fra / til en ekstern maskin
Når du bruker
rsync
for fjernoverføring, må den installeres på både kilden og destinasjonsmaskinen. De nye versjonene av
rsync
er konfigurert til å bruke SSH som standard eksternt skall.
I eksemplet nedenfor overfører vi en katalog fra en lokal til en ekstern maskin:
rsync -a /opt/media/ remote_user@remote_host_or_ip:/opt/media/
Hvis du ikke har angitt en passordløs SSH-pålogging til den eksterne maskinen, blir du bedt om å oppgi brukerpassordet.
Hvis du vil overføre data fra en ekstern til en lokal maskin, må du bruke den eksterne plasseringen som en kilde:
rsync -a remote_user@remote_host_or_ip:/opt/media/ /opt/media/
Hvis SSH på den eksterne verten lytter på en annen port enn standard 22, kan du spesifisere porten ved å bruke alternativet
-e
:
rsync -a -e "ssh -p 2322" /opt/media/ remote_user@remote_host_or_ip:/opt/media/
Når du overfører store datamengder, anbefales det å kjøre
rsync
kommandoen i en skjermøkt eller bruke
-P
alternativet:
rsync -a -P remote_user@remote_host_or_ip:/opt/media/ /opt/media/
Ekskluder filer og kataloger
Når du ekskluderer filer eller kataloger, må du bruke deres relative stier til kildeplassering.
Det er to alternativer for å ekskludere filer og kataloger. Det første alternativet er å bruke -
--exclude
argumentet og spesifisere filene og katalogene du vil ekskludere på kommandolinjen.
I det følgende eksemplet ekskluderer vi
node_modules
og
tmp
katalogene som er plassert i
src_directory
:
rsync -a --exclude=node_modules --exclude=tmp /src_directory/ /dst_directory/
Det andre alternativet er å bruke -
--exclude-from
argumentet og spesifisere filene og katalogene du vil ekskludere i en fil.
rsync -a --exclude-from='/exclude-file.txt' /src_directory/ /dst_directory/
/exclude-file.txt
Konklusjon
I denne opplæringen lærte du hvordan du bruker Rsync til å kopiere og synkronisere filer og kataloger. Det er mye mer å lære om Rsync på Rsync Brukerhåndbok side.
Legg gjerne igjen en kommentar hvis du har spørsmål.
rsync terminalHvordan bruke fallskjerm til å hente ekstern fil fra PC-en din
Visste du at du kunne bruke SkyDrive til å hente eksternt hvilken som helst fil fra hjemme-PCen? Det er ganske ryddig. Sjekk ut trinnene!
Hvordan endre datamaskinnavnet for en lokal eller ekstern pc
Slik endrer du datamaskinnavnet for en lokal eller ekstern PC ved bruk av visse enkle metoder.
Hvordan gi nytt navn til en lokal og ekstern gitgren
Du opprettet en ny gren, presset endringene til det eksterne depotet og skjønte at filialnavnet ditt var feil. Denne guiden vil forklare hvordan du gir nytt navn til lokal og ekstern Git-gren.