Terminal Tuts

Topp 20 Rsync-eksempler i Linux

Topp 20 Rsync-eksempler i Linux

Rsync-kommandoen (ekstern synkronisering) er et Linux / Unix-verktøy som brukes til å synkronisere og kopiere filer og kataloger enten lokalt eller eksternt. De fleste Linux-geeks bruker Rsync til å speile, sikkerhetskopiere eller migrere data over mapper, på tvers av disker og nettverk. En bemerkelsesverdig funksjon med Rsync-kommandoen er at den bruker "deltaoverføringsalgoritmen.”

Delta Transfer algoritme fungerer ved å oppdatere destinasjonskatalogen med innholdet i kildedestinasjonen. Hvis det opprettes en endring eller en ny fil i kildekatalogen, blir bare den spesielle endringen kopiert til målkatalogen når du kjører Rsync-kommandoen. For å synkronisere filer og kataloger mellom den lokale og en ekstern maskin, bruker Rsync SSH.

Installere Rsync i Linux

Rsync-kommandoen er forhåndsinstallert i de fleste Linux-operativsystemer. Dette kan imidlertid ikke være tilfelle for noen minimale installasjoner. Du kan installere Rsync ved å kjøre kommandoene nedenfor i en terminal.

På CentOS & RHEL

yum install rsync -y

På Ubuntu og andre Debian-distribusjoner

sudo apt installere rsync -y

Rsync Grunnleggende syntaks

rsync-alternativer kildedestinasjon

Noen av standardalternativene / parametrene som brukes med Rsync-kommandoen:

-v: -verbose Verbose output
-r: kopierer data rekursivt
-z: komprimere fildata
-h: Gir utdata i et lesbart format
-a: arkiver filer og katalog under synkronisering
-progress Viser fremdriften til Rsync-oppgavene som for øyeblikket kjører.

Du kan se alle alternativene som er tilgjengelige for Rsync-kommandoen ved hjelp av “-help” -alternativet.

$ rsync - hjelp

Rsync hjelpekommando

Topp 20 Rsync-eksempler i Linux

Med den detaljerte informasjonen i tankene, la oss komme i gang med 20 nyttige Rsync-eksempelkommandoer du kan bruke med Linux-systemer. Operativsystemet vårt er Ubuntu 20.04 LTS; imidlertid bør syntaksen også fungere for andre Linux-distribusjoner med Rsync installert.

1. Kopier / synkroniser filer lokalt med -v (detaljert) alternativ

Det er den mest grunnleggende Rsync-kommandoen, selv for en nybegynner. I dette eksemplet vil vi kopiere filer mellom 'Opprinnelig'katalog på skrivebordet til'Sikkerhetskopiering'katalog i' / etc.' mappe. Vi vil inkludere -v (Verbose) -alternativet slik at rsync kan gi informasjon om hva som skjer.

rsync -v Original /

rsync -v (detaljert) kommando

En ting å merke seg med Rsync er at hvis destinasjonskatalogen ikke eksisterer, vil den automatisk opprette den. La oss se eksemplet nedenfor der vi vil kopiere filer til katalogen “Foss”Det eksisterer ikke.

Opprett en katalog med Rsync

2. Synkroniser / kopier filer og kataloger rekursivt med alternativet -r

I kommandoen ovenfor, Hvis det var en katalog til stede i 'Opprinnelig'-mappe, vil den bli hoppet over. Det er illustrert i bildet nedenfor.

Grunnleggende Rsync-kommando

For å løse dette, bruk alternativet -r (rekursivt).

Synkroniser filer rekursivt med -r

3. Synkroniser / kopier filer mellom den lokale maskinen og den eksterne maskinen

Før du utfører denne oppgaven, er det flere parametere du trenger å vite om den eksterne serveren / maskinen: IP-adressen, brukernavnet og brukerpassordet.

Den grunnleggende syntaksen vi vil bruke er:

rsync [opsjoner] [filer] [eksternt brukernavn] @ [ip-adresse]: / [destinasjon]

La oss kopiere filer fra vår 'Opprinneligkatalog på skrivebordet til en ekstern server.

Synkroniser / kopier filer eksternt med Rsync

4. Synkroniser / kopier filer og kataloger fra en ekstern server til din lokale PC

Akkurat som den forrige kommandoen, må vi vite IP-adressen til den eksterne serveren. I dette eksemplet vil vi synkronisere filer i 'Sikkerhetskopieringmappen i serverens hjemmekatalog til vår lokale PC.

rsync -rv tuts @ 192.168.1.64: / home / tuts / Backup / home / tuts / Desktop / Original

Synkroniser-kopier fil fra en ekstern server til en lokal maskin

5. Bruk Rsync over SSH med alternativet -e

For å sikre sikkerheten til filer og mapper, vil vi bruke Rsync over Secure Shell Protocol (SSH). I tillegg, når du oppgir rot- / brukerpassordet - vil SSH tilby krypteringstjenester, slik at de er trygge.

For å bruke SSH, vil vi legge til alternativet -e som spesifiserer protokollen vi vil bruke.

 rsync -vre ssh Original / * tuts @ 192.168.1.64: / hjem / tuts

Bruk Rsync over SSH

6. Vis fremgang med Rsync-kommandoen

I situasjoner der du kopierer flere filer eller en enorm fil, vil du vite at fremdriften vil være effektiv. Heldigvis har rsync dette alternativet --framgangalternativet.

sudo rsync -rv --progress Original / * / etc / Foss

Vis fremgang med Rsync

7. Bruk Rsync med alternativet '-include'

Det er situasjoner der du bare vil synkronisere bestemte filer. Med Rsync-kommando forårsaker du-inkludere'mulighet til å utføre oppgaven. I dette eksemplet vil vi bare synkronisere filer som begynner med 'I' -bokstaven.

sudo rsync -vr - inkluderer 'I *' Original / / etc / Backup /

Bruk -inkluder alternativet med Rsync

8. Bruk Rsync med '-exclude' for å ignorere bestemte filer

Med Rsync '-utelukke'alternativ, kan du ekskludere filer du ikke vil synkronisere / kopiere. I dette eksemplet ønsker vi å ignorere alle filer som begynner med 'jeg'-bokstaven.

sudo rsync -vr - ekskluder 'I *' Original / / etc / Backup /

Bruk Rsync med alternativet '-ekskluder'

Alternativt kan du bruke begge alternativene i en kommando. Se eksemplet nedenfor.

sudo rsync -vr --ekskluder '*' - inkluderer 'I *' Original / / etc / Backup /

Vi ekskluderer alle filer bortsett fra de som begynner med bokstaven 'I.'

Bruk alternativene -include og -exclude

9. Bruk Rsync med -delete-kommandoen

Det er situasjoner der det er filer til stede i destinasjonskatalogen, men ikke i kildemappen. For synkronisering er det best å først fjerne slike filer fra destinasjonskatalogen. Heldigvis kommer Rsync med '-slett'alternativet, som gjør dette automatisk.

Hvis en fil er tilstede i målkatalogen, men ikke i kilden, vil den slette den.

rsync -vr --delete / etc / Backup / tuts @ 192.168.1.64: / home / tuts / Backup

Bruk Rsync med alternativet slett

10. Angi maksimal størrelse på filer som skal overføres med Rsync

Hvis du er opptatt av lagringsplass eller båndbredde for ekstern filsynkronisering, må du bruke alternativet '-max-size' med Rsync-kommandoen. Dette alternativet lar deg angi maksimal størrelse på en fil som kan kopieres.

For eksempel en-maks størrelse = 100k'vil bare overføre data som er lik eller mindre enn 100 kilobyte.

rsync -vr --max-size = '200k' / etc / Backup / tuts @ 192.168.1.64: / home / tuts / Backup

Angi maks størrelse med Rsync-kommando

11. Slett kildefiler automatisk etter vellykket overføring

Ta en situasjon der du har en ekstern sikkerhetskopieringsserver og en sikkerhetskopikatalog på PC-en. Du sikkerhetskopierer data til sikkerhetskopimappen på PCen din før du synkroniserer den med sikkerhetskopiserveren. Etter hver synkronisering må du slette dataene i sikkerhetskopikatalogen.

Heldigvis kan du gjøre dette automatisk med '--fjerne kildefileralternativet.

Slett kildefiler etter vellykket overføring

Ved å kjøre en 'ls' kommando på kildemappen, bekrefter vi at filene faktisk ble slettet.

12. Utfør tørrkjøring med Rsync

For nybegynnere som ikke er sikre på Rsync-kommandoen, kan du ødelegge innholdet i destinasjonskatalogen, og angre kan være mye så kjedelig. Med '-tørrkjøring'alternativ, Rsync-kommandoen vil gi deg en utgang av hva som skal utføres, men det vil ikke gjøre det.

Derfor kan du se på denne utgangen hvis det er hva du forventer før du går til å fjerne '-tørrkjøringalternativet.

rsync -vr - tørrkjørt Original / * tuts @ 192.168.1.64: / home / tuts / Backup

Utfør en tørrkjøring med Rsync

1. 3. Sett båndbreddegrense som kreves for å overføre filer.

Hvis du er på et delt nettverk eller kjører flere programmer som trenger en internettforbindelse, ville det være effektivt å sette en båndbreddegrense som kreves for å synkronisere / kopiere filer eksternt. Vi kan gjøre dette med Rsync '-bwlimitalternativet.

Denne hastigheten beregnes i kilobyte. Derfor når-bwlimit = 1000'betyr at bare 1000Kb kan overføres per sekund.

rsync -vr --bwlimit = 1000 Original / * tuts @ 192.168.1.64: / home / tuts / Backup

Angi båndbreddegrense som kreves for å overføre filer

14. Synkroniser hele filene med Rsync

Som standard synkroniserer Rsync bare de modifiserte blokkene og byte. Derfor, hvis du hadde synkronisert en tekstfil før og senere lagt til noen tekster i kildefilen når du synkroniserer, blir bare den innsatte teksten kopiert. Hvis du vil synkronisere hele filen på nytt, må du bruke alternativet '-W'.

rsync -vrW Original / * tuts @ 192.168.1.64: / home / tuts / Backup

Synkroniser en hel fil med Rsync

15. Ikke synkroniser / kopier modifiserte filer i målkatalogen

Det er situasjoner der du har gjort endringer i filer som er tilstede i målmappen. Hvis du kjører en Rsync-kommando, vil disse endringene bli overskrevet av dem i kildefilen. For å unngå slikt, bruk alternativet '-u'.

rsync -vu Original / * tuts @ 192.168.1.64: / home / tuts / Backup

Bruk 'u' -alternativet for å unngå å endre filer i destinasjonsmappen

16. Bruk alternativet Rsync med -i for å se forskjellen i filer mellom kilde og destinasjon

Hvis du vil vite hvilke nye endringer som blir gjort i destinasjonskatalogen, bruker du alternativet '-i', som viser forskjellen i filer mellom kilde- og destinasjonskatalogen.

rsync -avzi Original / Backup /

Bruk alternativet -i for å se forskjellen i filer

Form utdataene i bildet over, og vi ser en fil som heter 'heloo.py ' ikke til stede i destinasjonskatalogen. La oss se på noen av disse parametrene.

d: viser en endring i destinasjonsfilen
f: representerer en fil
t: viser en endring i tidsstempel
s: indikerer en endring i størrelsen på en fil

17. Bruk Rsync til å bare kopiere katalogstruktur

Du kan bruke Rsync til å synkronisere bare katalogstrukturen hvis du ikke er interessert i filene. Vi må bruke parametrene -f ”+ * /” -f ”- *” før kildekatalogen.

rsync -av -f "+ * /" -f "- *" / home / tuts / Desktop / Original / / home / tuts / Documents /

Bruk Rsync til å kopiere en katalogstruktur

18. Legg til datostempel i katalognavnet

Hvis du vil spore når overføring fant sted uten å åpne katalogegenskaper, kan du enkelt legge til en dato i katalognavnet. Det vil legge til et datostempel for alle synkroniseringer du gjør med Rsync.

For å gjøre det, vil vi legge til $ (dato + \\% Y - \\% m - \\% d) til destinasjonskatalogen.

sudo rsync -rv Original / / etc / $ (dato + \\% Y - \\% m - \\% d)

Legg til et datostempel i en katalog

19. Kopier en enkelt fil lokalt

For å synkronisere / kopiere en enkelt fil med Rsync, må du spesifisere filbanen etterfulgt av målkatalogbanen.

rsync -v Original / heloo.py Backup /

Synkroniser en enkelt fil lokalt

20. Kopierer flere filer eksternt

For å kopiere flere filer samtidig, må du oppgi stien til dem alle. Denne metoden er effektiv for bare et lite antall filer.

rsync -vr / home / tuts / Desktop / Original / heloo.py / home / tuts / Desktop / Backup / index.html tuts @ 192.168.1.64: / home / tuts / Backup

Kopier flere filer samtidig

Det handler om de 20 mest nyttige Rsync-eksemplene som gjør at du kan synkronisere filer og kataloger både lokalt og eksternt. Legg gjerne igjen din tilbakemelding og kommentarer nedenfor.

Hvordan vise FPS-teller i Linux-spill
Linux-spill fikk et stort press da Valve kunngjorde Linux-støtte for Steam-klient og spillene deres i 2012. Siden den gang har mange AAA- og indiespil...
Hvordan laste ned og spille Sid Meier's Civilization VI på Linux
Introduksjon til spillet Civilization 6 er et moderne syn på det klassiske konseptet som ble introdusert i serien av Age of Empires-spillene. Ideen va...
Hvordan installere og spille Doom på Linux
Introduksjon til Doom Doom-serien stammer fra 90-tallet etter utgivelsen av den originale Doom. Det ble en øyeblikkelig suksess, og fra den tiden og u...