Terminal Tuts

Top 20 Rsync-eksempler i Linux

Top 20 Rsync-eksempler i Linux

Rsync-kommandoen (remote sync) er et Linux / Unix-værktøj, der bruges til at synkronisere og kopiere filer og kataloger enten lokalt eller eksternt. De fleste Linux-nørder bruger Rsync til at spejle, sikkerhedskopiere eller migrere data på tværs af mapper, på tværs af diske og netværk. En bemærkelsesværdig funktion med Rsync-kommandoen er, at den bruger "delta transfer algoritme.”

Delta Transfer algoritme fungerer ved at opdatere destinationsmappen med indholdet af kildedestinationen. Hvis der oprettes en ændring eller en ny fil i kildemappen, kopieres kun den bestemte ændring til destinationsmappen, når du kører Rsync-kommandoen. For at synkronisere filer og mapper mellem den lokale og en ekstern maskine bruger Rsync SSH.

Installation af Rsync i Linux

Rsync-kommandoen er forudinstalleret i de fleste Linux-operativsystemer. Dette er dog muligvis ikke tilfældet for nogle minimale installationer. Du kan installere Rsync ved at køre nedenstående kommandoer i en terminal.

På CentOS & RHEL

yum install rsync -y

På Ubuntu og andre Debian-distributioner

sudo apt installer rsync -y

Rsync Grundlæggende syntaks

rsync-indstillinger kildedestination

Nogle af de standardindstillinger / parametre, der bruges med Rsync-kommandoen:

-v: -verbose Verbose output
-r: kopierer data rekursivt
-z: komprimere fildata
-h: Giver output i et menneskeligt læsbart format
-a: arkiver filer og bibliotek under synkronisering
-progress Viser status for de Rsync-opgaver, der aktuelt kører.

Du kan se alle de tilgængelige indstillinger for Rsync-kommandoen ved hjælp af indstillingen “-hjælp”.

$ rsync - hjælp

Rsync hjælp kommando

Top 20 Rsync-eksempler i Linux

Med de detaljerede oplysninger i tankerne, lad os komme i gang med 20 nyttige Rsync-eksempelkommandoer, du kan bruge med Linux-systemer. Vores valgte operativsystem er Ubuntu 20.04 LTS; syntaksen skal dog også fungere for andre Linux-distributioner med Rsync installeret.

1. Kopier / synkroniser filer lokalt med -v (detaljeret) mulighed

Det er den mest basale Rsync-kommando, selv for en nybegynder. I dette eksempel kopierer vi filer mellem 'Original'mappe på skrivebordet til'Backup'mappe i' / osv.mappe. Vi vil inkludere -v (Verbose) -muligheden, så rsync kan give information om, hvad der foregår.

rsync -v Original /

rsync -v (detaljeret) kommando

En ting at bemærke med Rsync er, at hvis destinationsmappen ikke findes, opretter den automatisk den. Lad os se eksemplet nedenfor, hvor vi vil kopiere filer til biblioteket “Foss”Der findes ikke.

Opret en mappe med Rsync

2. Synkroniser / kopier filer og mapper rekursivt med -r mulighed

I ovenstående kommando, hvis der var en mappe til stede i 'Originalmappe, det springes over. Det er illustreret i nedenstående billede.

Grundlæggende Rsync-kommando

For at løse dette skal du bruge -r (rekursiv).

Synkroniser filer rekursivt med -r

3. Synkroniser / kopier filer mellem den lokale maskine og den eksterne maskine

Før du udfører denne opgave, er der flere parametre, som du har brug for at vide om den eksterne server / maskine: IP-adressen, brugernavnet og brugeradgangskoden.

Den grundlæggende syntaks, som vi vil bruge, er:

rsync [optioner] [filer] [fjernbrugernavn] @ [ip-adresse]: / [destination]

Lad os kopiere filer fra vores 'Originalmappe på skrivebordet til en ekstern server.

Synkroniser / kopier filer eksternt med Rsync

4. Synkroniser / kopier filer og mapper fra en ekstern server til din lokale pc

Ligesom den forrige kommando skal vi kende IP-adressen til den eksterne server. I dette eksempel synkroniserer vi filer i 'Backup'-mappe i serverens hjemmekatalog til vores 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 maskine

5. Brug Rsync over SSH med indstillingen -e

For at sikre sikkerheden af ​​filer og mapper bruger vi Rsync over Secure Shell Protocol (SSH). Derudover vil SSH levere krypteringstjenester, når de leverer root- / brugeradgangskoden, hvilket sikrer, at de er sikre.

For at bruge SSH tilføjer vi indstillingen -e, der specificerer den protokol, vi vil bruge.

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

Brug Rsync over SSH

6. Vis fremskridt med Rsync-kommandoen

I situationer, hvor du kopierer flere filer eller en kæmpe fil, vil det være effektivt at vide, at fremskridt er. Heldigvis har rsync bestemmelsen om denne mulighed - '-fremskridt' mulighed.

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

Vis fremskridt med Rsync

7. Brug Rsync med indstillingen '-include'

Der er situationer, hvor du kun vil synkronisere bestemte filer. Med Rsync-kommando forårsager du '-omfatte'mulighed for at udføre opgaven. I dette eksempel synkroniserer vi kun filer startende med 'I' bogstav.

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

Brug -include-indstilling med Rsync

8. Brug Rsync med '-exclude' mulighed for at ignorere bestemte filer

Med Rsync '-udelukke'mulighed, kan du ekskludere filer, som du ikke vil synkronisere / kopiere. I dette eksempel vil vi ignorere alle filer, der starter med 'I' -brevet.

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

Brug Rsync med indstillingen '-ekskluder'

Alternativt kan du bruge begge indstillinger i en kommando. Se eksemplet nedenfor.

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

Vi udelukker alle filer bortset fra dem, der starter med bogstavet 'I.''

Brug valgmulighederne -include og -exclude

9. Brug Rsync med -delete-kommandoen

Der er situationer, hvor der er filer til stede i destinationsmappen, men ikke i kildemappen. Til synkronisering ville det være bedst først at fjerne sådanne filer fra destinationsmappen. Heldigvis kommer Rsync med '-slet'mulighed, som gør dette automatisk.

Hvis en fil er til stede i destinationsmappen, men ingen i kilden, slettes den.

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

Brug Rsync med sletteindstillingen

10. Indstil den maksimale størrelse af filer, der skal overføres med Rsync

Hvis du er bekymret for lagerplads eller båndbredde til ekstern synkronisering af filer, skal du bruge indstillingen '-max-størrelse' med kommandoen Rsync. Denne mulighed giver dig mulighed for at indstille den maksimale størrelse for en fil, der kan kopieres.

For eksempel en '-max-størrelse = 100k'overfører kun data, der er lig med eller mindre end 100 kilobyte.

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

Indstil maksimal størrelse med Rsync-kommando

11. Slet kildefiler automatisk efter en vellykket overførsel

Tag en situation, hvor du har en ekstern backup-server og en backup-mappe på din pc. Du sikkerhedskopierer data til sikkerhedskopimappen på din pc, før du synkroniserer dem med Backup-serveren. Efter hver synkronisering skal du slette dataene i sikkerhedskopimappen.

Heldigvis kan du gøre dette automatisk med '--fjern kildefiler' mulighed.

Slet kildefiler efter en vellykket overførsel

Ved at køre en 'ls' kommando på kildemappen bekræfter vi, at filerne faktisk blev slettet.

12. Udfør et tørløb med Rsync

For nybegyndere, der ikke er sikre på Rsync-kommandoen, kan du ødelægge dit destinationsmappens indhold, og fortrydelse kan være meget så kedeligt. Med '-tørt løb'option, kommandoen Rsync giver dig et output af, hvad der skal udføres, men det gør det ikke.

Derfor kan du se på dette output, hvis det er, hvad du forventer, før du går til at fjerne '-tørt løb' mulighed.

rsync -vr --dry-run Original / * tuts @ 192.168.1.64: / hjem / tuts / Backup

Udfør et tørløb med Rsync

13. Indstil båndbreddegrænse, der kræves for at overføre filer.

Hvis du er på et delt netværk eller kører flere programmer, der har brug for en internetforbindelse, ville det være effektivt at indstille en båndbreddegrænse, der kræves for at synkronisere / kopiere filer eksternt. Vi kan gøre dette med Rsync '-bwlimit' mulighed.

Denne hastighed beregnes i kilobyte. Derfor, når '-bwlimit = 1000'betyder, at kun 1000Kb kan overføres pr. sekund.

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

Indstil båndbreddegrænse, der kræves for at overføre filer

14. Synkroniser hele filerne med Rsync

Som standard synkroniserer Rsync kun de modificerede blokke og byte. Derfor, hvis du havde synkroniseret en tekstfil før og senere tilføjet nogle tekster til kildefilen, når du synkroniserer, kopieres kun den indsatte tekst. Hvis du vil synkronisere hele filen igen, skal du bruge indstillingen '-W'.

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

Synkroniser en hel fil med Rsync

15. Synkroniser / kopier ikke ændrede filer i destinationsmappen

Der er situationer, hvor du har foretaget ændringer af filer, der findes i destinationsmappen. Hvis du kører en Rsync-kommando, overskrives disse ændringer af dem i kildefilen. Brug indstillingen '-u' for at undgå sådan.

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

Brug 'u' for at undgå at ændre filer i destinationsmappen

16. Brug Rsync med -i mulighed for at se forskellen i filer mellem kilde og destination

Hvis du ønsker at vide, hvilke nye ændringer der foretages i destinationsmappen, skal du bruge '-i' -indstillingen, som viser forskellen i filer mellem kilde- og destinationsmappen.

rsync -avzi Original / Backup /

Brug -i mulighed for at se forskellen i filer

Dann output i billedet ovenfor, og vi ser en fil kaldet 'heloo.py ' ikke til stede i destinationsmappen. Lad os se på nogle af disse parametre.

d: viser en ændring i destinationsfilen
f: repræsenterer en fil
t: viser en ændring i tidsstempler
s: angiver en ændring i filens størrelse

17. Brug Rsync til kun at kopiere katalogstruktur

Du kan bruge Rsync til kun at synkronisere katalogstrukturen, hvis du ikke er interesseret i filerne. Vi bliver nødt til at bruge parametrene -f ”+ * /” -f ”- *” før kildekataloget.

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

Brug Rsync til at kopiere en bibliotekstruktur

18. Føj datostempel til katalognavnet

Hvis du vil spore, hvornår overførsler fandt sted uden at åbne katalogegenskaber, kan du nemt tilføje en dato til et katalognavn. Det vil tilføje et datostempel til alle synkroniseringer, du foretager med Rsync.

For at gøre det tilføjer vi $ (dato + \\% Y - \\% m - \\% d) til destinationsmappen.

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

Føj et datostempel til et bibliotek

19. Kopier en enkelt fil lokalt

For at synkronisere / kopiere en enkelt fil med Rsync skal du angive filstien efterfulgt af destinationsmappestien.

rsync -v Original / heloo.py Backup /

Synkroniser en enkelt fil lokalt

20. Kopiering af flere filer eksternt

For at kopiere flere filer samtidigt skal du angive stien til dem alle. Denne metode er kun effektiv til et lille antal filer.

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

Kopier flere filer samtidigt

Det handler om de 20 mest nyttige Rsync-eksempler, der giver dig mulighed for at synkronisere filer og mapper både lokalt og eksternt. Du er velkommen til at efterlade din feedback og dine kommentarer nedenfor.

SuperTuxKart til Linux
SuperTuxKart er en fantastisk titel designet til at give dig Mario Kart-oplevelsen gratis på dit Linux-system. Det er ret udfordrende og sjovt at spil...
Kæmp om Wesnoth-vejledning
Slaget om Wesnoth er et af de mest populære open source-strategispil, som du kan spille på dette tidspunkt. Ikke kun har dette spil været under udvikl...
0 A.D. Vejledning
Ud af de mange strategispil derude, 0 A.D. formår at skille sig ud som en omfattende titel og et meget dybt, taktisk spil på trods af at det er open s...