▷ Rsync Linux: Hur man använder och styr exempel

Användningen av kommandon i Linux är mer än naturligt eftersom dessa har varit hjärtat i Linux i många år, det är därför vi måste vara medvetna om hur vi använder dessa kommandon eftersom, liksom vissa är praktiska för grundläggande uppgif.webpter, andra kan vara farlig om vi inte hanterar dem korrekt. Ett av de mest funktionella Linux -kommandona är rsync -protokollet som Solvetic kommer att förklara för dig i detalj under hela denna handledning. Låt oss se först vad är rsync.

För närvarande upprätthålla en infrastruktur av alla storlekar utan säkerhetskopiering kan anses vara galet, en disk kan misslyckas när som helst och du kan förlora information lika värdefull som företagets bokföring. I det här inlägget kommer vi att prata om hur du använder Rsync, ett av de bästa verktygen för säkerhetskopiering på * nix -system. Vi kommer att se från de mest grundläggande till mer avancerade exemplen med skript och exempel som du kan använda i din arbetsmiljö. Det kommer att vara en manual för att veta hur man använder rysnc.

Behovet av att ha samma information på olika platser har blivit en allt starkare, detta eftersom vår arbetsyta är variabel och vi vill ha våra verktyg alltid med oss ​​eller till och med som reservåtgärder.

Vad är rsync?Det är ett verktyg för öppen källkod för att överföra filer och kataloger mellan en plats och en annan. Dess fördelar är huvudsakligen baserade på komprimering av informationen som ska skickas, den gör att överföringen kan utföras via en SSH -kanal och den överför bara de filer och bitar av filer som har modifierats istället för att överföra hela filen igen, något liknande det som händer vid överföring av skillnaderna i en fil under Git -versionskontroll.

Kommandot rsync (Remote Sync) är ett kommando som utvecklats för kopiering och synkronisering av filer och kataloger, antingen på distans eller lokalt på Linux- eller UNIX -system.

Med detta kommando kan vi göra kopior från:

  • Lokalt
  • Med hjälp av ett fjärrskal
  • Genom en fjärransluten rsync -demon

Rsync använderBland de olika användningsområdena för rsync finns följande:

  • Automatiserade säkerhetskopior till fjärrservrar eller diskar.
  • Fjärrsynkronisering av filer och kataloger.
  • Vanlig filöverföring.

Rsync fördelar

  • Det är snabbare än scp (Secure Copy) eftersom rsync använder ett överföringsprotokoll som endast tillåter överföring av skillnaden mellan filerna, första gången den överför hela filen för andra gången endast de ändringar som kan finnas.
  • Den är utformad för fjärranslutna säkerhetskopior.
  • Stöder kopiering av alla filbehörigheter, till exempel ägare, mjuka grupper och hård länk.
  • Använd mindre bandbredd genom att använda komprimering när du skickar filer.

Rsync har en deltaöverföringsfunktion som gör det möjligt att minska mängden data som skickas via nätverket så att endast skillnaderna mellan källfilerna och de befintliga filerna i fjärrdestinationen kan skickas, det är därför rsync är idealisk för säkerhetskopiering och kopiering.
Rsync agerar i processen att söka efter filer som ska överföras med en lqquick checkqq -algoritm, som ansvarar för att söka efter filer som har genomgått någon form av modifiering.

Rsync -funktionerNågra av dess huvudsakliga egenskaper är:

  • Integrerar utesluta alternativ funktioner som liknar GNU tar
  • Den har stöd för att kopiera Linux -länkar, enheter, ägare, grupper och behörigheter
  • Lägg till ett CVS -uteslutningsläge som gör det möjligt att ignorera samma filer som CVS skulle ignorera i sin funktion
  • Kräver inte superanvändarprivilegier (root)
  • Vi kan använda ett fjärrskal som ssh eller rsh
  • Ger pipeline av filöverföringar för att minimera kostnader för nätverksfördröjning
  • Stöder autentiserade eller anonyma rsync -demoner
  • Det är snabbare än scp

Vi kommer att se hur man använder rsync och rsync parametrar för att kunna utföra uppgif.webpter som rsync kopiera bara nya filer eller rsync ta bort målfiler.

1. Hur man använder rsync

Syntaxen för att använda detta kommando är följande:

 rsync alternativ resurs destination 
Rsync -variablerGenom att använda denna syntax kan vi lägga till några variabler som:

  • -v: ordagrant läge.
  • -r: Detta alternativ kopierar data rekursivt utan att lämna tidsstämplar och tillstånd under processen.
  • -a: filläge som tillåter rekursiv kopiering av filer och bevarar symboliska länkar, filtillstånd, användar- och gruppägande och tidsstämplar.
  • -z: Detta alternativ komprimerar data i filen.
  • -h: läsbart läge för människor, utmatningsnummer i ett mänskligt läsbart format.

Låt oss nu se några exempel på hur du använder det här kommandot. I slutet av självstudien ger Solvetic dig andra parametrar för att använda rsync på Linux.

2. Hur man installerar rsync

Steg 1
I de flesta nuvarande system är rsync installerat som standard, men om det inte är det kan vi utföra följande:

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

FÖRSTORA

Steg 2
Vi måste i alla fall bekräfta installationen av rsync, i vissa system som Ubuntu 20 kommer det redan som standard:

3. Kopiera filer och kopiera kataloger med rsync


Den första användningen av rsync är att kopiera eller synkronisera en fil eller katalog lokalt. Låt oss se hur du kopierar rsync -filer, kopierar kataloger med rsync och synkroniserar två kataloger med rsync.

Steg 1
För detta kommer vi att utföra följande

 rsync -zvh "fil" "destination" 

Steg 2
Där kan vi se detaljer som:

  • Data skickas
  • Mängd mottagen data
  • Överföringshastighet
  • Total storlek

Steg 3
Om fallet ska kopiera en katalog lokalt kommer vi att utföra följande:

 rsync -zvh "katalog" "destination" 

4. Kopiera eller synkronisera fjärr -rsynk -mappar eller fjärrkatalog

Steg 1
Vi kan kopiera eller synkronisera filer lokalt till en fjärrdator, för detta kommer vi att använda följande syntax:

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

Steg 2
Närhelst vi använder fjärr -IP måste vi ange rotlösenordet för nämnda fjärrdator. Om vi ​​nu ska kopiera en fjärrkatalog till vår lokala server använder vi följande syntax:

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

5. Rsync SSH hur man använder


SSH (Secure Shell) är en ytterligare säkerhetsmekanism för dataöverföring, detta uppnås eftersom SSH använder sig av en säker anslutning med mycket standardiserad kryptering.

Steg 1
Om vi ​​ska kopiera en lokal fil till en fjärrdator med SSH måste vi använda alternativet "-e" med namnet på det protokoll som du vill använda:

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

Steg 2
För att kopiera en lokal fil till en fjärrserver använder vi följande syntax:

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

Steg 3
Vi kan i fjärrkatalogen validera att filen eller katalogen har kopierats:

FÖRSTORA

6. Rsync visa fil eller katalogöverföring framsteg


Detta är en metod för bättre överföringshantering, detta uppnås med parametern -progress:
 rsync -avzhe ssh --progress / source [email protected]: / destination 

7. Inkludera eller uteslut rsync -kataloger


Alternativen -inkludera och -ekskludera är alternativ som tillåter oss att antingen inkludera eller utesluta filer, de tillåter oss också att ange vilka filer eller kataloger som ska inkluderas i synkroniseringen eller utesluta filer och mappar som inte ska överföras.

Dess användning är följande:

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

8. Rsync ta bort filer och kataloger


Om en fil eller katalog inte finns i källan, men redan är tillgänglig i destinationen, kan vi ta bort den filen eller katalogen under synkroniseringsprocessen, för detta kan vi använda -delete för att radera de element som inte finns på destinationsdator kör vi följande:
 rsync -avz -radera [email protected]: / destination 

9. Rsync Begränsa filstorlek


Med parametern -max -storlek kan vi ange vilken är den maximala storleken på objekten som ska överföras med rsync, detta hjälper till att styra det avlägsna utrymmet:
 rsync -avzhe ssh --max -size = '300k' / source / [email protected]: / destination 

10. Rsync radera källfiler om överföringen lyckades

Med variabeln -remove-source-files är det möjligt att de filer som har synkroniserats i källan elimineras endast om hela processen har varit korrekt, för detta kommer vi att använda följande. Vi ser att källfilen har raderats.

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

11. Kör rsync utan att påverka filer


Detta är ett idealiskt alternativ för personer som inte helt känner till kraften i rsync eftersom det visar vad kommandot kommer att göra men inte påverkar ursprunget, detta uppnås med parametern -dry -run. Vi kan se att filen fortfarande finns där.
 rsync --dry-run --remove-source-files -zvh "file" / destination / 

12. Begränsa rsync -bandbredd


Med parametern -bwlimit kommer det att vara möjligt att definiera vilken nätverkshastighet rsync ska använda för synkroniseringsuppgif.webpter, detta uppnås enligt följande:
 rsync --bwlimit = 200 -avzhe ssh / source / [email protected]: / destination 

13. Säkerhetskopiera med Rsync


Ibland måste vi säkerhetskopiera viss information innan vi gör ändringar och i händelse av att ett fel återställs från säkerhetskopiering börjar vi med ett laboratorium som säkerhetskopierar från en mapp till en annan. På detta sätt skapar vi en säkerhetskopia med rsync på ett komplett och säkert sätt.

Steg 1
Vi börjar med att verifiera att rsync är installerat.

 [användare @ Solvetic ~] $ som rsync / usr / bin / rsync
Steg 2
Vi skapar två mappar för källan och destinationen för filerna.
 mkdir {backup1, backup2} 
Steg 3
Vi skapar flera filer i backup1 -mappen, i detta fall spelar storleken på filerna ingen roll.
 [user @ Solvetic ~] $ touch backup1 / file {1… 75} 
Steg 4
Katalogen ska ha 75 filer. Vi gör backup.
 [användare @ 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 fil7 fil74 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
Steg 5
För att säkerhetskopiera filerna till backup2 använder vi. Källan måste sluta i / annars skulle den kopiera mappen och inte innehållet.
 rsync -r backup1 / backup2 
Steg 6
OM vi går in i backup2 kan vi se de 75 filerna vi kan till och med verifiera att det är två identiska kataloger som använder diff.
 [användare @ Solvetic ~] $ diff backup1 backup2 
Steg 7
Om du skapar en mjuklänk från en fil i katalog 1
 ln -s file30 file100 
Steg 8
Att använda rsync med -r synkroniserar inte mjuklänken i det här fallet vi använder. Om vi ​​tittar på den här tiden kommer vi att få mjuklänken synkroniserad.
 rsync -a backup1 / backup2 
NoteraOm vi ​​inte är säkra på vad vi ska stödja kan vi använda en simulering med -n och tillsammans med -v kan det vara mycket användbart.
 [användare @ Solvetic ~] $ rsync -anv backup1 / backup2 skickar inkrementell fillista skickad 606 byte mottagna 12 byte 1236,00 byte / sek total storlek är 6 speedup är 0,01 (DRY RUN)

14. Andra Rsync -parametrar


Som vi nämnde är det några av de ytterligare parametrarna som ska användas med rsync på Linux:

Rsync -parametrar

  • -t, --times: behåll tidsändring
  • -g, --grupp: behåll grupper
  • -o, -ägare: behåll ägaren till objektet
  • -B, --block-size = SIZE: tvinga fram en fast kontrollsumblocksstorlek
  • T, --temp-dir = DIR: detta värde skapar tillfälliga filer i DIR-katalogen
  • z, --komprimera: komprimera fildata under överföringen
  • -4, --ipv4: använd endast IPv4
  • -6, --ipv6: använd endast IPv6

Det finns många fler variabler, men dessa är mer än tillräckligt för att du ska få ut det mesta av rsync på Linux. Vi har sett hur vi använder rsync med de mest användbara alternativen, tillsammans med verktyg som cron- och bash-skript, python kommer vi att ha allt vi behöver för att göra våra säkerhetskopior utan behov av tredjepartsverktyg.

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave