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
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 /
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.
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.
For at løse dette skal du bruge -r (rekursiv).
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.
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
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
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
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 /
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 /
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.''
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
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
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.
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
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
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
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
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 /
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 /
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)
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 /
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
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.