Android

Sådan bruges rsync til lokal og fjern dataoverførsel og synkronisering

Configure Port Forwarding to Remotely Access Your Synology NAS | Synology

Configure Port Forwarding to Remotely Access Your Synology NAS | Synology

Indholdsfortegnelse:

Anonim

Rsync er et hurtigt og alsidigt kommandolinjeværktøj, der synkroniserer filer og mapper mellem to placeringer over en ekstern skal, eller fra / til en ekstern Rsync-dæmon. Det giver hurtig inkrementel filoverførsel ved kun at overføre forskellene mellem kilden og destinationen.

Rsync kan bruges til spejling af data, trinvis sikkerhedskopiering, kopiering af filer mellem systemer og som erstatning for scp , sftp og cp kommandoer til daglig brug.

I denne tutorial vil vi vise dig, hvordan du bruger rsync gennem praktiske eksempler og detaljerede forklaringer af de mest almindelige rsync indstillinger.

Installation af Rsync

rsync hjælpeprogrammet er forinstalleret på de fleste Linux-distributioner og macOS. Du kan kontrollere, om det er installeret på dit system ved at skrive:

rsync --version

rsync version 3.1.2 protocol version 31

Installer Rsync på Ubuntu og Debian

sudo apt install rsync

Installer Rsync på CentOS og Fedora

sudo yum install rsync

Rsync kommandosyntax

Før vi går ind på, hvordan du bruger rsync kommandoen, lad os starte med at gennemgå den grundlæggende syntaks.

rsync værktøjsudtrykket har følgende form:

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

  • OPTION - Rsync-indstillingerne. SRC - Kildekatalog. DEST - Destinationskatalog. USER - Fjernbrugernavn. HOST - Remote hostname ot IP Address.

rsync giver et antal indstillinger, der kontrollerer alle aspekter af dens opførsel. De mest anvendte indstillinger er:

  • -a , --archive , --archive , svarende til -rlptgoD . Denne mulighed fortæller rsync at synkronisere mapper rekursivt, overføre specielle og blokere enheder, bevare symboliske links, ændringstider, gruppe, ejerskab og tilladelser. -z , - --compress . Denne mulighed tvinger rsync til at komprimere dataene, når de sendes til destinationsmaskinen. Brug kun denne indstilling, hvis forbindelsen til fjernmaskinen er langsom. -P , svarende til - --partial --progress . Når denne mulighed bruges, vil rsync vise en statuslinje under overførsel og for at bevare de delvist overførte filer. Det er nyttigt, når du overfører store filer over langsomme eller ustabile netværksforbindelser. --delete . Når du bruger denne indstilling, vil rsync slette fremmede filer fra destinationsplaceringen. Det er nyttigt til spejling. -q , - --quiet . Brug denne indstilling, hvis du vil undertrykke meddelelser, der ikke er fejl. -e . Denne mulighed giver dig mulighed for at vælge en anden ekstern skal. Som standard er rsync konfigureret til at bruge ssh.

Grundlæggende Rsync-brug

For at kopiere en enkelt fil fra en til en anden lokal placering, kører du følgende kommando:

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

Brugeren, der kører kommandoen, skal have læstilladelser på destinationsplaceringen og skrive tilladelser på destinationen.

Ved at udelade filnavnet fra destinationen kopieres filen med det aktuelle navn. Hvis du vil gemme filen under et andet navn, skal du angive det nye navn på destinationsdelen:

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

I eksemplet herunder opretter vi en lokal sikkerhedskopi af vores webstedsfiler:

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

Hvis destinationsmappen ikke findes, vil rsync oprette den.

Det er værd at nævne, at rsync giver forskellige behandlinger til kildekatalogerne med en bageste skråstreg / . Hvis du tilføjer en bageste skråstreg i kildemappen, kopierer den kun indholdet af biblioteket til destinationsmappen. Når bageste skråstreg er udeladt, kopierer rsync kildekataloget i destinationsmappen.

Sådan bruges Rsync til at synkronisere data fra / til en ekstern maskine

Når du bruger rsync til fjernoverførsel, skal det installeres på både kilden og destinationsmaskinen. De nye versioner af rsync er konfigureret til at bruge SSH som standard remote shell.

I det følgende eksempel overfører vi et bibliotek fra en lokal til en fjernmaskine:

rsync -a /opt/media/ remote_user@remote_host_or_ip:/opt/media/ Hvis du ikke har indstillet et kodeordfrit SSH-login til den eksterne maskine, bliver du bedt om at indtaste brugeradgangskoden.

Hvis du vil overføre data fra en fjernbetjening til en lokal maskine, skal du bruge fjernplacering som kilde:

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

Hvis SSH på den eksterne vært lytter på en anden port end standard 22, kan du specificere porten ved hjælp af -e indstillingen:

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

Ved overførsel af store mængder data anbefales det at køre rsync kommandoen i en skærmsession eller bruge indstillingen -P :

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

Ekskluder filer og mapper

Når du ekskluderer filer eller mapper, skal du bruge deres relative stier til kildeplaceringen.

Der er to muligheder for at ekskludere filer og mapper. Den første mulighed er at bruge - --exclude argumentet og specificere de filer og mapper, du vil ekskludere på kommandolinjen.

I det følgende eksempel udelukker vi node_modules og tmp mapper, der er placeret inde i src_directory :

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

Den anden mulighed er at bruge argumentet - ekskluder --exclude-from og specificere de filer og mapper, du vil ekskludere i en fil.

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

node_modules tmp

Konklusion

I denne tutorial lærte du, hvordan du bruger Rsync til at kopiere og synkronisere filer og mapper. Der er meget mere at lære om Rsync på siden Rsync Brugermanual.

Du er velkommen til at give en kommentar, hvis du har spørgsmål.

rsync terminal