▷ Rsync Linux: Sådan bruges og kommandoer du eksempler

Brugen af ​​kommandoer i Linux er mere end naturlig, da disse har været hjertet i Linux i mange år, derfor skal vi være opmærksomme på den måde, vi bruger disse kommandoer på, da, såvel som nogle er praktiske til grundlæggende opgaver, andre kan være farlig, hvis vi ikke håndterer dem korrekt. En af de mest funktionelle Linux -kommandoer er rsync -protokollen, som Solvetic vil forklare dig detaljeret i hele denne vejledning. Lad os se først hvad er rsync.

I øjeblikket kan opretholdelse af en infrastruktur af enhver størrelse uden sikkerhedskopiering betragtes som skør, en disk kan til enhver tid mislykkes, og du kan miste oplysninger lige så værdifulde som virksomhedens regnskab. I dette indlæg vil vi tale om, hvordan man bruger Rsync, et af de bedste værktøjer til sikkerhedskopiering på * nix -systemer. Vi vil se fra de mest grundlæggende til mere avancerede eksempler med scripts og eksempler, som du kan anvende i dit arbejdsmiljø. Det vil være en manual at vide, hvordan man bruger rysnc.

Behovet for at have de samme oplysninger forskellige steder har været en, der bliver stadig stærkere, dette fordi vores arbejdsområde er variabelt, og vi vil have vores værktøjer altid med eller endda som backup -foranstaltninger.

Hvad er rsync?Det er et open source -værktøj til overførsel af filer og mapper mellem et sted og et andet. Dens fordele er hovedsageligt baseret på komprimering af de oplysninger, der skal sendes, det gør det muligt at overføre gennem en SSH -kanal, og det overfører kun de filer og filstykker, der er blevet ændret i stedet for at overføre hele filen igen, noget ligner det, der sker ved overførsel af forskellene i en fil under Git -versionskontrol.

Kommandoen rsync (Remote Sync) er en kommando, der er udviklet til kopiering og synkronisering af filer og biblioteker enten eksternt eller lokalt på Linux- eller UNIX -systemer.

Med denne kommando kan vi lave kopier fra:

  • Lokalt
  • Brug af en fjernskal
  • Gennem en fjern rsync -dæmon

Rsync brugerBlandt de forskellige anvendelser til rsync er følgende:

  • Automatiserede sikkerhedskopier til eksterne servere eller diske.
  • Fjernfil- og bibliotekssynkronisering.
  • Fælles filoverførsel.

Rsync fordele

  • Det er hurtigere end scp (Secure Copy), fordi rsync bruger en uploadprotokol, der kun tillader overførsel af forskellen mellem filerne, første gang den overfører hele filen for anden gang kun de ændringer, der kan eksistere.
  • Det er designet til eksterne sikkerhedskopier.
  • Understøtter kopiering af alle filtilladelser, f.eks. Ejer, bløde grupper og hardlink.
  • Brug mindre båndbredde ved at bruge komprimering, mens du sender filer.

Rsync har en delta -overførselsfunktionalitet, der gør det muligt at reducere mængden af ​​data, der sendes via netværket, så kun forskellene mellem kildefilerne og de eksisterende filer i den eksterne destination kan sendes, derfor er rsync ideel til sikkerhedskopiering og kopiering.
Rsync handler i processen med at søge efter filer, der skal overføres ved hjælp af en lqquick checkqq -algoritme, som har ansvaret for at søge efter filer, der har lidt en form for ændring.

Rsync -funktionerNogle af dets vigtigste egenskaber er:

  • Integrerer eksklusionsfunktioner, der ligner GNU -tar
  • Det understøtter kopiering af Linux -links, enheder, ejere, grupper og tilladelser
  • Tilføj en CVS -ekskluderingstilstand, som gør det muligt at ignorere de samme filer, som CVS ville ignorere i sin funktion
  • Kræver ikke superbrugerrettigheder (root)
  • Vi kan bruge en fjernskal som ssh eller rsh
  • Giver pipeline af filoverførsler for at minimere netværksforsinkelsesomkostninger
  • Understøtter godkendte eller anonyme rsync -dæmoner
  • Det er hurtigere end scp

Vi skal se, hvordan vi bruger rsync og rsync parametre til at kunne udføre opgaver som rsync kun kopiere nye filer eller rsync slette målfiler.

1. Sådan bruges rsync

Syntaksen til brug af denne kommando er som følger:

 rsync muligheder ressource destination 
Rsync -variablerVed at bruge denne syntaks kan vi tilføje nogle variabler som:

  • -v: udførlig tilstand.
  • -r: Denne indstilling kopierer dataene rekursivt uden at efterlade tidsstempler og tilladelse under processen.
  • -a: filtilstand, der tillader rekursiv kopiering af filer og bevarer symbolske links, filtilladelser, bruger- og gruppeejerskab og tidsstempler.
  • -z: Denne indstilling komprimerer dataene i filen.
  • -h: menneskelig læsbar tilstand, outputnumre i et menneskeligt læsbart format.

Lad os nu se nogle eksempler på, hvordan du bruger denne kommando. I slutningen af ​​selvstudiet giver Solvetic dig andre parametre til brug af rsync på Linux.

2. Sådan installeres rsync

Trin 1
I de fleste nuværende systemer er rsync installeret som standard, men hvis det ikke er det, kan vi udføre følgende:

 yum installer rsync (Red Hat - CentOS - Fedora) apt -get install rsync (Debian - Ubuntu)

FORSTØRRE

Trin 2
Under alle omstændigheder skal vi bekræfte installationen af ​​rsync, i nogle systemer som Ubuntu 20 kommer det allerede som standard:

3. Kopier filer og kopier mapper med rsync


Den første brug af rsync er at kopiere eller synkronisere en fil eller et bibliotek lokalt. Lad os se, hvordan du kopierer rsync -filer, kopierer mapper med rsync og synkroniserer to biblioteker med rsync.

Trin 1
Til dette vil vi udføre følgende

 rsync -zvh "fil" "destination" 

Trin 2
Der kan vi se detaljer som:

  • Data sendt
  • Mængden af ​​modtagne data
  • Overførselshastighed
  • Samlet størrelse

Trin 3
Hvis sagen skal kopiere et bibliotek lokalt, udfører vi følgende:

 rsync -zvh "bibliotek" "destination" 

4. Kopier eller synkroniser eksterne rsynkroniseringsmapper eller fjernt bibliotek

Trin 1
Vi kan kopiere eller synkronisere filer lokalt til en fjerncomputer, til dette vil vi bruge følgende syntaks:

 rsync -avz fil / [email protected]: / destination / 

Trin 2
Når vi bruger den eksterne IP, skal vi indtaste root -adgangskoden til den eksterne computer. Hvis vi nu vil kopiere en fjernmappe til vores lokale server, vil vi bruge følgende syntaks:

 rsync -azvh [email protected]: / destination / bibliotek / 

5. Rsync SSH hvordan man bruger


SSH (Secure Shell) er en ekstra sikkerhedsmekanisme til dataoverførsel, dette opnås, da SSH gør brug af en sikker forbindelse med stærkt standardiseret kryptering.

Trin 1
Hvis vi skal kopiere en lokal fil til en fjerncomputer med SSH, skal vi bruge indstillingen "-e" med navnet på den protokol, du vil bruge:

 rsync -avzhe ssh [email protected]: / destination / bibliotek 

Trin 2
For at kopiere en lokal fil til en fjernserver bruger vi følgende syntaks:

 rsync -avzhe ssh "fil" [email protected]: / destination / 

Trin 3
Vi kan validere i fjernmappen, at filen eller biblioteket er blevet kopieret:

FORSTØRRE

6. Rsync vis fil- eller bibliotekoverførselsfremgang


Dette er en metode til bedre overførselsstyring, dette opnås med parameteren -progress:
 rsync -avzhe ssh --progress / source [email protected]: / destination 

7. Inkluder eller ekskluder rsync -mapper


Indstillingerne -include og -exclude er muligheder, der giver os mulighed for enten at inkludere eller ekskludere filer, de giver os også mulighed for at angive de filer eller mapper, der skal medtages i synkroniseringen eller ekskludere filer og mapper, der ikke skal overføres.

Dens anvendelse er som følger:

 rsync -avze ssh -inkluder 'Letter *' -exclude ' *' [email protected]: / destination 

8. Rsync slette filer og mapper


Hvis en fil eller et bibliotek ikke er i kilden, men allerede er tilgængeligt i destinationen, kan vi slette den pågældende fil eller mappe under synkroniseringsprocessen, til dette kan vi bruge -delete for at slette de elementer, der ikke er på destinationscomputer, udfører vi følgende:
 rsync -avz -slet [email protected]: / destination 

9. Rsync Begræns filstørrelse


Med parameteren -max -størrelse kan vi angive, hvilken er den maksimale størrelse på objekterne, der skal overføres med rsync, dette hjælper med at styre det eksterne rum:
 rsync -avzhe ssh --max -size = '300k' / source / [email protected]: / destination 

10. Rsynk slet kildefiler, hvis overførslen lykkedes

Med variablen -remove-source-filer er det muligt, at de filer, der er blevet synkroniseret i kilden, kun elimineres, hvis hele processen har været korrekt, til dette vil vi bruge følgende. Vi ser, at kildefilen er blevet slettet.

 rsync --remove-source-files -zvh "file" / destination / 

11. Kør rsync uden at påvirke filer


Dette er en ideel mulighed for folk, der ikke helt kender kraften i rsync, da det viser, hvad kommandoen vil gøre, men ikke påvirker oprindelsen, dette opnås f.eks. Med parameteren -dry -run. Vi kan se, at filen stadig er der.
 rsync --dry-run --remove-source-files -zvh "file" / destination / 

12. Begræns rsync -båndbredde


Med parameteren -bwlimit vil det være muligt at definere hvilken netværkshastighed rsync skal bruge til synkroniseringsopgaver, dette opnås som følger:
 rsync --bwlimit = 200 -avzhe ssh / source / [email protected]: / destination 

13. Backup med Rsync


Nogle gange skal vi sikkerhedskopiere visse oplysninger, før vi foretager ændringer, og i tilfælde af en fejl under gendannelse fra sikkerhedskopiering starter vi med et laboratorium, der sikkerhedskopierer fra en mappe til en anden. På denne måde opretter vi en sikkerhedskopi med rsync på en komplet og sikker måde.

Trin 1
Vi starter med at kontrollere, at rsync er installeret.

 [bruger @ Solvetic ~] $ som rsync / usr / bin / rsync
Trin 2
Vi opretter 2 mapper til filernes kilde og destination.
 mkdir {backup1, backup2} 
Trin 3
Vi opretter flere filer i mappen backup1, i dette tilfælde er filernes størrelse ligegyldig.
 [bruger @ Solvetic ~] $ touch backup1 / fil {1… 75} 
Trin 4
Mappen skal have 75 filer. Vi laver backup.
 [bruger @ Solvetic ~] $ ls backup1 / fil1 fil14 fil19 fil23 fil28 fil32 fil37 fil41 fil46 fil50 fil55 fil6 fil64 fil69 fil73 fil10 fil15 fil2 fil24 fil29 fil33 fil38 fil42 fil47 fil51 fil56 fil60 fil65 fil7 fil11 fil16 fil20 fil25 fil3 fil34 fil39 fil43 fil48 fil5 fil57 fil61 fil66 fil70 fil75 fil12 fil17 fil21 fil26 fil30 fil35 fil4 fil44 fil49 fil53 fil58 fil62 fil67 fil71 fil8 fil13 fil18 fil22 fil27 fil31 fil36 fil40 fil45 fil5 fil54 fil59 fil63 fil68 fil72 fil9
Trin 5
Til sikkerhedskopiering af filerne til backup2 bruger vi. Kilden skal ende med / ellers ville den kopiere mappen og ikke indholdet.
 rsync -r backup1 / backup2 
Trin 6
HVIS vi indtaster backup2, kan vi se de 75 filer, vi kan endda bekræfte, at det er 2 identiske mapper, der bruger diff.
 [bruger @ Solvetic ~] $ diff backup1 backup2 
Trin 7
I tilfælde af oprettelse af et softlink fra en fil i bibliotek 1
 ln -s fil30 fil100 
Trin 8
Brug af rsync med -r synkroniserer ikke softlinket i dette tilfælde, vi bruger. Hvis vi ser på dette tidspunkt, får vi softlinket synkroniseret.
 rsync -a backup1 / backup2 
BemærkHvis vi ikke er sikre på, hvad vi vil støtte, kan vi bruge en simulering med -n og i forbindelse med -v kan det være meget nyttigt.
 [bruger @ Solvetic ~] $ rsync -anv backup1 / backup2 sender inkrementel filliste sendt 606 bytes modtaget 12 byte 1236,00 bytes / sek samlet størrelse er 6 speedup er 0,01 (DRY RUN)

14. Andre Rsync -parametre


Som vi nævnte, er dette nogle af de ekstra parametre, der skal bruges med rsync på Linux:

Rsync -parametre

  • -t, --times: hold tidsændring
  • -g, --gruppe: behold grupper
  • -o, -ejer: behold ejeren af ​​objektet
  • -B, --block-size = SIZE: tving en fast checksum-blokstørrelse
  • T, --temp-dir = DIR: denne værdi opretter midlertidige filer i DIR-biblioteket
  • z, -komprimere: komprimere fildataene under overførsel
  • -4, --ipv4: brug kun IPv4
  • -6, --ipv6: brug kun IPv6

Der er mange flere variabler, men disse er mere end nok til, at du får mest muligt ud af rsync på Linux. Vi har set, hvordan vi bruger rsync med de mest nyttige muligheder, sammen med værktøjer som cron og bash scripts, python har vi alt, hvad vi har brug for til at lave vores sikkerhedskopier uden behov for tredjepartsværktøjer.

wave wave wave wave wave