rsync

Hvordan bruke rsync til å kopiere filer

Hvordan bruke rsync til å kopiere filer
Rsync er et kommandolinjeverktøy i Linux som brukes til å kopiere filer fra et kildeplass til et destinasjonssted. Du kan kopiere filer, kataloger og hele filsystemet og synkronisere filene mellom forskjellige kataloger. Det gjør mer enn bare å kopiere filene. Det reduserer mengden data som sendes over nettverket ved bare å sende filene som er nye eller oppdaterte. Derfor regnes det som et flott verktøy for filkopiering og sikkerhetskopiering. Rsync støtter også kopiering av filer til et eksternt system via SSH.

I denne artikkelen vil vi forklare hvordan du bruker rsync til å kopiere filer med noen praktiske eksempler. Vi vil også forklare bruken av rsync i kopiering av en enkelt fil, flere filer og katalog til både lokale og eksterne systemer. Vi vil dekke hvordan du bruker Rsync til å:

Vi har forklart kommandoene og prosedyren nevnt i denne artikkelen på en Ubuntu 20.04 LTS. Du trenger kommandolinjeterminalen for å kopiere filer ved hjelp av rsync. For å åpne kommandolinjens terminalapplikasjon, bruk hurtigtasten Ctrl + Alt + T.

Installerer Rsync

Rsync kommer forhåndsinstallert i Ubuntu 20.04 LTS. Men hvis det ved et uhell fjernes fra systemet, kan du installere det på følgende måte:

$ sudo apt installere rsync

Her er noen av de vanligste alternativene som kan brukes med rsync:

-a: arkivmodus
-v: viser detaljer om kopieringsprosessen
-p: viser fremdriftslinjen
-r: kopierer data rekursivt
-z: komprimerer data
-q: undertrykk utdata

Kopier filer og kataloger lokalt

Den generelle syntaksen til rsync er:

$ rsync [alternativ] [kilde] [destinasjon]

Kopier en enkelt fil lokalt

Hvis du vil kopiere en fil fra et sted til et annet i systemet ditt, kan du gjøre det ved å skrive rsync etterfulgt av kildefilnavnet og destinasjonskatalogen.

For eksempel å kopiere en enkelt fil “file1.txt ”fra gjeldende plassering som er hjemmekatalog til ~ / Dokumentkatalog, vil kommandoen være:

$ rsync / home / tin / file1.txt / hjem / tinn / Dokumenter

Merk: I stedet for “/ home / tin / file1.txt ”, kan vi også skrive“ file1 ”slik vi for tiden jobber i hjemmekatalogen. Vi kan også bruke ~ / Documents i stedet for å nevne hele banen som "/ home / tin / Documents".

Kopier flere filer lokalt

Hvis du vil kopiere flere filer samtidig fra ett sted til et annet i systemet ditt, kan du gjøre det ved å skrive rsync etterfulgt av kildefilens navn og destinasjonskatalogen.

For eksempel å kopiere filene “file2.txt ”og“ file3.txt ”fra hjemmekatalogen til ~ / Dokumenter-katalogen, vil kommandoen være:

$ rsync / home / tin / file2.txt / hjem / tinn / fil 3.txt / hjem / tinn / Dokumenter

For å kopiere alle filene med samme filtype, kan du bruke stjerne (*) symbol i stedet for å spesifisere filnavnene individuelt. For eksempel å kopiere alle filene fra hjemmekatalogen som slutter med “.zip ”-utvidelse til ~ / Documents-katalogen, vil vi bruke:

$ rsync / hjem / tinn / *.zip ~ / Dokumenter

Kopier kataloger lokalt

Hvis du vil kopiere en katalog med underkatalogen og alt innhold fra ett sted til et annet i systemet ditt, kan du gjøre det ved å skrive rsync etterfulgt av kilde- og destinasjonskatalogen.

For eksempel, for å kopiere "eksempel" -katalogen til "test /" -katalogen i hjemmekatalogen, vil kommandoen være:

$ rsync -av / hjem / tinn / prøve / hjem / tinn / test

Merk: Å spesifisere “/” etter kildekatalogen kopierer bare innholdet i katalogen. Hvis vi ikke spesifiserer “/” etter kildekatalogen, vil kildekatalogen også kopieres til destinasjonskatalogen.

Som i følgende utdata, kan du se at vår kildekatalog "sample" også kopieres til destinasjonskatalogen (ettersom vi har brukt "sample" i stedet for "sample /" som kildekatalog).

Rsync støtter trinnvis overføring som du kan se i utdataene ovenfor at den bare overfører filene som er nye eller oppdaterte.

Kopier filer basert på maksimal størrelse

Under kopiering kan vi også spesifisere den maksimale størrelsen på filer som kan kopieres med alternativet "-max-size". For eksempel, for å kopiere filene som ikke er større enn 2000k fra ~ / Nedlastinger til ~ / Dokumenter-katalogen, vil kommandoen være:

$ rsync -a --max-størrelse = 2000k / hjem / tinn / Nedlastinger / * / hjem / tinn / Dokumenter

Denne kommandoen vil kopiere alle filene fra ~ / Nedlastinger til ~ / Dokumenter-katalogen bortsett fra de som er større enn 2000k.

Kopier filer basert på minimum størrelse

På samme måte kan vi også spesifisere minimumsstørrelsen på filer som kan kopieres med alternativet "-min-size". For eksempel, for å kopiere filene ikke mindre enn 5M fra ~ / Nedlastinger til ~ / Dokumenter-katalogen, vil kommandoen være:

$ rsync -a --min-size = 5M / home / tin / Nedlastinger / / home / tin / Documents

Denne kommandoen vil kopiere alle filene fra ~ / Nedlastinger til ~ / Dokumenter-katalogen bortsett fra de som er mindre enn 5M.

Ekskluder filer

Mens du kopierer filer fra en katalog til en annen, kan du ekskludere noen filer ved hjelp av “-exclude” -alternativet etterfulgt av filnavnet eller utvidelsen av filtypen.

For eksempel å ekskludere alle .zip-filer mens du kopierer filer fra ~ / Nedlastinger til ~ / Dokumenter-katalogen, vil kommandoen være:

$ rsync -a --exclude = "*.zip "/ hjem / tinn / Nedlastinger / / hjem / tinn / Dokumenter

Kopier filer og kataloger eksternt

Med Rsync kan du kopiere en enkelt fil, flere filer og kataloger til et eksternt system. For å kopiere filer og kataloger eksternt, trenger du:

Før du kopierer filer ved hjelp av rsync, må du sørge for at du får tilgang til det eksterne systemet via SSH:

$ ssh remote_user @ remote_ip


Den generelle syntaksen for kopiering av filer og kataloger til et eksternt system ved hjelp av rsync:

$ rsync [alternativ] [kilde] [fjernbruker @ remoteip: destinasjon]

For eksempel å kopiere en enkelt fil “fil.txt ”fra ~ / Nedlastinger til eksternt system ~ / Dokumentkatalog, vil kommandoen være:

$ rsync -v ~ / Nedlastinger / fil1.txt umara @ 192.168.72.164: ~ / Dokumenter

På samme måte kan du kopiere katalogen “~ / Downloads / files” i et lokalt system med underkatalogen og alt innholdet til “~ / Downloads / samples” -katalogen på det eksterne systemet:

$ rsync -rv ~ / Nedlastinger / filer umara @ 192.168.72.164: ~ / Nedlastinger / prøver

Du kan også kopiere filene og katalogene fra den eksterne maskinen til din lokale maskin. For eksempel å kopiere en “file2.txt ”fra det eksterne systemet til det lokale systembordet:

$ rsync -v umara @ 192.168.72.164: ~ / Nedlastinger / fil2.txt ~ / Desktop /

Tilsvarende å kopiere en katalog fra det eksterne systemet til det lokale systemet

$ rsync -rv umara @ 192.168.72.164: ~ / Nedlastinger / prøve ~ / Desktop / test

Du kan også bruke alle alternativene som -max-size, -min-size, -exclude og andre mens du kopierer filer til / fra det eksterne systemet.

Rsync er et flott verktøy for å kopiere filer fra kilde til destinasjon enten lokalt eller eksternt. Den inkluderer et stort sett med alternativer som gir deg fleksibilitet og kontroll mens du overfører filer til / fra det eksterne systemet.

Topp 5 spillfangstkort
Vi har alle sett og elsket streaming av spill på YouTube. PewDiePie, Jakesepticye og Markiplier er bare noen av de beste spillerne som har tjent milli...
Hvordan utvikle et spill på Linux
For et tiår siden ville ikke mange Linux-brukere forutsi at deres favorittoperativsystem en dag ville være en populær spillplattform for kommersielle ...
Åpne kildeporter for kommersielle spillmotorer
Gratis, åpen kildekode og plattformspillmotorrekreasjoner kan brukes til å spille gamle så vel som noen av de ganske nylige spilletitlene. Denne artik...