Terminal Tuts

Topp 20 Rsync-exempel i Linux

Topp 20 Rsync-exempel i Linux

Kommandot Rsync (fjärrsynk) är ett Linux / Unix-verktyg som används för att synkronisera och kopiera filer och kataloger antingen lokalt eller på distans. De flesta Linux-nördar använder Rsync för att spegla, säkerhetskopiera eller migrera data över mappar, över diskar och nätverk. En anmärkningsvärd funktion med Rsync-kommandot är att den använder "deltaöverföringsalgoritmen.”

Delta Transfer-algoritmen fungerar genom att uppdatera målkatalogen med innehållet i källmålen. Om en ändring eller en ny fil skapas i källkatalogen kopieras endast den aktuella ändringen till målkatalogen när du kör Rsync-kommandot. För att synkronisera filer och kataloger mellan den lokala och en fjärrmaskin använder Rsync SSH.

Installerar Rsync i Linux

Rsync-kommandot är förinstallerat i de flesta Linux-operativsystem. Det kan dock inte vara fallet för vissa minimala installationer. Du kan installera Rsync genom att köra kommandona nedan i en terminal.

På CentOS & RHEL

yum install rsync -y

På Ubuntu och andra Debian-distributioner

sudo apt installera rsync -y

Rsync Grundläggande syntax

rsync-alternativ källmål

Några av standardalternativen / parametrarna som används med Rsync-kommandot:

-v: -verbose Verbose output
-r: kopierar data rekursivt
-z: komprimera fildata
-h: Ger utdata i ett läsbart format
-a: arkivera filer och katalog under synkronisering
-progress Visar förloppet för de Rsync-uppgifter som för närvarande körs.

Du kan se alla tillgängliga alternativ för Rsync-kommandot med alternativet “-help”.

$ rsync --hjälp

Rsync hjälpkommando

Topp 20 Rsync-exempel i Linux

Med den detaljerade informationen i åtanke, låt oss komma igång med 20 användbara Rsync-exempelkommandon som du kan använda med Linux-system. Vårt valfria operativsystem är Ubuntu 20.04 LTS; dock bör syntaxen också fungera för andra Linux-distributioner med Rsync installerat.

1. Kopiera / synkronisera filer lokalt med -v (ingående) alternativ

Det är det mest grundläggande Rsync-kommandot, även för en nybörjare. I det här exemplet kopierar vi filer mellan 'Original'katalog på skrivbordet till'Säkerhetskopiering'katalog i' / etc.' mapp. Vi kommer att inkludera -v (Verbose) -alternativet så att rsync kan ge information om vad som händer.

rsync -v Original /

rsync -v (närmare) kommando

En sak att notera med Rsync är att om målkatalogen inte finns kommer den automatiskt att skapa den. Låt oss se exemplet nedan där vi vill kopiera filer till katalogen “Foss”Det finns inte.

Skapa en katalog med Rsync

2. Synkronisera / kopiera filer och kataloger rekursivt med -r-alternativet

I kommandot ovan, om det fanns en katalog i 'Originalmappen, skulle den hoppas över. Det illustreras i bilden nedan.

Grundläggande Rsync-kommando

För att övervinna detta, använd alternativet -r (rekursivt).

Synkronisera filer rekursivt med -r

3. Synkronisera / kopiera filer mellan den lokala maskinen och fjärrmaskinen

Innan du utför den här uppgiften finns det flera parametrar som du behöver veta om fjärrservern / maskinen: IP-adressen, användarnamnet och användarlösenordet.

Den grundläggande syntaxen som vi kommer att använda är:

rsync [alternativ] [filer] [fjärranvändarnamn] @ [ip-adress]: / [destination]

Låt oss kopiera filer från vår 'Originalkatalog på skrivbordet till en fjärrserver.

Synkronisera / kopiera filer på distans med Rsync

4. Synkronisera / kopiera filer och kataloger från en fjärrserver till din lokala dator

Precis som det föregående kommandot måste vi känna till fjärrserverns IP-adress. I det här exemplet synkroniserar vi filer i 'Säkerhetskopieringmapp i serverns hemkatalog till vår lokala dator.

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

Synk-kopiera fil från en fjärrserver till en lokal maskin

5. Använd Rsync över SSH med alternativet -e

För att säkerställa säkerheten för filer och mappar använder vi Rsync över Secure Shell Protocol (SSH). Dessutom kommer SSH att tillhandahålla krypteringstjänster för att säkerställa att de är säkra när de tillhandahåller lösenordet för root / användare.

För att använda SSH lägger vi till alternativet -e som anger det protokoll som vi vill använda.

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

Använd Rsync över SSH

6. Visa framsteg med Rsync-kommandot

I situationer där du kopierar flera filer eller en enorm fil, vet du att framstegen är effektiva. Lyckligtvis har rsync tillhandahållandet av detta alternativ --framstegalternativet.

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

Visa framsteg med Rsync

7. Använd Rsync med alternativet 'inkludera'

Det finns situationer där du bara vill synkronisera vissa filer. Med kommandot Rsync orsakar du '-omfatta'möjlighet att utföra uppgiften. I det här exemplet synkroniserar vi bara filer som börjar med "I" -bokstaven.

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

Använd alternativet -include med Rsync

8. Använd Rsync med '-exclude' för att ignorera vissa filer

Med Rsync '-utesluta'alternativ kan du utesluta filer som du inte vill synkronisera / kopiera. I det här exemplet vill vi ignorera alla filer som börjar med bokstaven "I".

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

Använd Rsync med alternativet '-exkludera'

Alternativt kan du använda båda alternativen i ett kommando. Se exemplet nedan.

sudo rsync -vr --exclude '*' --include 'I *' Original / / etc / Backup /

Vi utesluter alla filer förutom de som börjar med bokstaven 'I.''

Använd både -include och -exclude-alternativ

9. Använd Rsync med -delete-kommandot

Det finns situationer där det finns filer i målkatalogen, men inte i källmappen. För synkronisering är det bäst att först ta bort sådana filer från målkatalogen. Lyckligtvis kommer Rsync med '-radera'alternativ, vilket gör detta automatiskt.

Om en fil finns i målkatalogen men ingen i källan kommer den att tas bort.

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

Använd Rsync med alternativet radera

10. Ställ in den maximala storleken på filer som ska överföras med Rsync

Om du är bekymrad över lagringsutrymme eller bandbredd för fjärrfilssynkronisering måste du använda alternativet '-max-storlek' med kommandot Rsync. Med det här alternativet kan du ställa in den maximala storleken på en fil som kan kopieras.

Till exempel en-max-storlek = 100köverför endast data som är lika med eller mindre än 100 kilobyte.

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

Ställ in maximal storlek med Rsync-kommandot

11. Ta bort källfiler automatiskt efter en lyckad överföring

Ta en situation där du har en fjärrbackupserver och en säkerhetskopieringskatalog på din dator. Du säkerhetskopierar data till säkerhetskopieringsmappen på din dator innan du synkroniserar den med säkerhetskopieringsservern. Efter varje synkronisering måste du radera data i säkerhetskopian.

Lyckligtvis kan du göra detta automatiskt med '--ta bort källfileralternativet.

Ta bort källfiler efter en lyckad överföring

Genom att köra ett ls-kommando i källmappen bekräftar vi att filerna verkligen raderades.

12. Utför en torrkörning med Rsync

För nybörjare som inte är säkra på kommandot Rsync kan du förstöra ditt målkataloginnehåll, och ångra kan vara lika tråkigt. Med '-torrkörning'alternativet ger kommandot Rsync dig en utdata om vad som kommer att utföras, men det gör det inte.

Därför kan du titta på den här utgången om det är vad du förväntar dig innan du går ut för att ta bort '-torrkörningalternativet.

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

Utför en torrkörning med Rsync

13. Ställ in bandbreddsgräns som krävs för att överföra filer.

Om du är i ett delat nätverk eller kör flera program som behöver en internetanslutning skulle det vara effektivt att ställa in en bandbreddsgräns som krävs för att synkronisera / kopiera filer på distans. Vi kan göra detta med Rsync '-bwlimitalternativet.

Denna hastighet beräknas i kilobyte. Därför när-bwlimit = 1000'betyder att endast 1000Kb kan överföras per sekund.

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

Ställ in bandbreddsgränsen som krävs för att överföra filer

14. Synkronisera hela filerna med Rsync

Som standard synkroniserar Rsync bara de modifierade blocken och byten. Om du därför hade synkroniserat en textfil tidigare och senare lagt till några texter i källfilen när du synkroniserar kommer bara den infogade texten att kopieras. Om du vill synkronisera hela filen igen måste du använda alternativet '-W'.

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

Synkronisera en hel fil med Rsync

15. Synkronisera / kopiera inte modifierade filer i målkatalogen

Det finns situationer där du har gjort ändringar av filer som finns i målmappen. Om du kör ett Rsync-kommando kommer dessa ändringar att skrivas över av dem i källfilen. Använd alternativet '-u' för att undvika sådana.

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

Använd alternativet 'u' för att undvika att ändra filer i mappen Destination

16. Använd alternativet Rsync med -i för att se skillnaden i filer mellan källa och destination

Om du vill veta vilka nya ändringar som kommer att göras i målkatalogen, använd alternativet '-i', som visar skillnaden i filer mellan käll- och målkatalogen.

rsync -avzi Original / Backup /

Använd alternativet -i för att se skillnaden i filer

Forma utdata i bilden ovan, och vi ser en fil som heter 'heloo.py ' inte finns i målkatalogen. Låt oss titta på några av dessa parametrar.

d: visar en ändring i målfilen
f: representerar en fil
t: visar en förändring av tidsstämplar
s: indikerar en ändring av filens storlek

17. Använd Rsync för att bara kopiera katalogstruktur

Du kan använda Rsync för att bara synkronisera katalogstrukturen om du inte är intresserad av filerna. Vi måste använda parametrarna -f ”+ * /” -f ”- *” före källkatalogen.

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

Använd Rsync för att kopiera en katalogstruktur

18. Lägg till datumstämpel i katalognamnet

Om du vill spåra när överföringar skett utan att öppna katalogegenskaper kan du enkelt lägga till ett datum i ett katalognamn. Det lägger till en datumstämpel för alla synkroniseringar du gör med Rsync.

För att göra det kommer vi att bifoga $ (datum + \\% Y - \\% m - \\% d) till målkatalogen.

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

Lägg till en datumstämpel i en katalog

19. Kopiera en enda fil lokalt

För att synkronisera / kopiera en enda fil med Rsync måste du ange filsökvägen följt av destinationskatalogvägen.

rsync -v Original / heloo.py Backup /

Synkronisera en enda fil lokalt

20. Fjärrkopiering av flera filer

För att kopiera flera filer samtidigt måste du ange sökvägen till dem alla. Denna metod är effektiv för endast ett litet antal filer.

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

Kopiera flera filer samtidigt

Det handlar om de 20 mest användbara Rsync-exemplen som gör att du kan synkronisera filer och kataloger både lokalt och på distans. Lämna gärna din feedback och kommentarer nedan.

Mus WinMouse låter dig anpassa och förbättra muspekarens rörelse på Windows PC
WinMouse låter dig anpassa och förbättra muspekarens rörelse på Windows PC
Om du vill förbättra standardfunktionerna för din muspekare, använd freeware WinMouse. Det lägger till fler funktioner som hjälper dig att få ut det m...
Mus Mus vänsterklicka på knappen fungerar inte på Windows 10
Mus vänsterklicka på knappen fungerar inte på Windows 10
Om du använder en dedikerad mus med din bärbara dator eller stationära dator men musens vänsterklick-knapp fungerar inte på Windows 10/8/7 av någon an...
Mus Markören hoppar eller rör sig slumpmässigt när du skriver in Windows 10
Markören hoppar eller rör sig slumpmässigt när du skriver in Windows 10
Om du upptäcker att muspekaren hoppar eller rör sig på egen hand, automatiskt, slumpmässigt när du skriver in Windows-bärbar dator eller dator, kan nå...