I denne artikel vil vi forklare, hvordan man bruger rsync til at kopiere filer med nogle praktiske eksempler. Vi vil også forklare brugen af rsync til kopiering af en enkelt fil, flere filer og bibliotek til både lokale og eksterne systemer. Vi vil dække, hvordan du bruger Rsync til:
- Kopier fil / bibliotek inden for det lokale system
- Kopier fil / bibliotek fra lokalt til eksternt system
- Kopier fil / bibliotek fra det eksterne system til det lokale
Vi har forklaret kommandoerne og proceduren nævnt i denne artikel på en Ubuntu 20.04 LTS. Du skal bruge kommandolinjeterminalen til at kopiere filer ved hjælp af rsync. For at åbne kommandolinjens terminalapplikation skal du bruge tastaturgenvejen Ctrl + Alt + T.
Installation af Rsync
Rsync leveres forudinstalleret i Ubuntu 20.04 LTS. Men hvis det ved et uheld fjernes fra systemet, kan du installere det som følger:
$ sudo apt installere rsyncHer er nogle af de almindeligt anvendte indstillinger, der kan bruges med rsync:
-a: arkivtilstand
-v: viser detaljer om kopieringsprocessen
-p: viser statuslinjen
-r: kopierer data rekursivt
-z: komprimerer data
-q: undertryk output
Kopier filer og mapper lokalt
Den generelle syntaks for rsync er:
$ rsync [option] [kilde] [destination]Kopier en enkelt fil lokalt
Hvis du vil kopiere en fil fra et sted til et andet inden for dit system, kan du gøre det ved at skrive rsync efterfulgt af kildefilnavnet og destinationsmappen.
For eksempel at kopiere en enkelt fil “fil1.txt ”fra den aktuelle placering, der er hjemmekatalog til ~ / Dokumenter-katalog, vil kommandoen være:
$ rsync / home / tin / file1.txt / hjem / tin / Dokumenter
Bemærk: I stedet for “/ home / tin / file1.txt ”, kan vi også skrive“ file1 ”, da vi i øjeblikket arbejder i hjemmekataloget. Vi kan også bruge ~ / Documents i stedet for at nævne den fulde sti som "/ home / tin / Documents".
Kopier flere filer lokalt
Hvis du vil kopiere flere filer på én gang fra et sted til et andet inden for dit system, kan du gøre det ved at skrive rsync efterfulgt af kildefilens navn og destinationsmappen.
For eksempel at kopiere filerne “file2.txt ”og“ file3.txt ”fra hjemmebiblioteket til ~ / Dokumenter-biblioteket, kommandoen er:
$ rsync / home / tin / file2.txt / home / tin / file3.txt / hjem / tin / Dokumenter
For at kopiere alle filerne med den samme udvidelse kan du bruge stjerne (*) symbol i stedet for individuelt at angive filnavne. For eksempel at kopiere alle filerne fra hjemmekataloget, der slutter med “.zip ”-udvidelse til ~ / Documents-biblioteket, vi bruger:
$ rsync / hjem / tin / *.zip ~ / DokumenterKopier mapper lokalt
Hvis du vil kopiere et bibliotek med dets underkatalog og alt indhold fra et sted til et andet inden for dit system, kan du gøre det ved at skrive rsync efterfulgt af kilde- og destinationsmappen.
For eksempel, for at kopiere "prøve" -mappen til "test /" -mappen i hjemmekataloget, ville kommandoen være:
$ rsync -av / hjem / tin / prøve / hjem / tin / testBemærk: Angivelse af “/” efter kildekataloget kopierer kun indholdet af kataloget. Hvis vi ikke angiver “/” efter kildekataloget, kopieres kildekataloget også til destinationskataloget.
Som i følgende output kan du se, at vores kildekatalog "prøve" også kopieres til destinationsmappen (da vi har brugt "prøve" i stedet for "prøve /" som kildekatalog).
Rsync understøtter trinvis overførsel, som du kan se i ovenstående output, at den kun overfører de filer, der er nye eller opdaterede.
Kopier filer baseret på maksimal størrelse
Under kopiering kan vi også specificere den maksimale størrelse af filer, der kan kopieres med indstillingen “-max-størrelse”. For eksempel, for at kopiere filer, der ikke er større end 2000k fra ~ / Downloads til ~ / Documents-biblioteket, ville kommandoen være:
$ rsync -a --max-size = 2000k / home / tin / Downloads / * / home / tin / DocumentsDenne kommando kopierer alle filerne fra ~ / Downloads til ~ / Documents-kataloget undtagen dem, der er større end 2000k.
Kopier filer baseret på minimum størrelse
På samme måde kan vi også specificere den mindste størrelse af filer, der kan kopieres med indstillingen "-min-størrelse". For eksempel, for at kopiere filerne mindst 5M fra ~ / Downloads til ~ / Documents-biblioteket, ville kommandoen være:
$ rsync -a --min-size = 5M / home / tin / Downloads / / home / tin / DocumentsDenne kommando kopierer alle filerne fra ~ / Downloads til ~ / Documents-biblioteket undtagen dem, der er mindre end 5M.
Ekskluder filer
Mens du kopierer filer fra et bibliotek til et andet, kan du ekskludere nogle filer ved hjælp af "-ekskluder" -funktionen efterfulgt af filnavnet eller filtypenavnet.
For eksempel at udelukke alle .zip-filer, mens du kopierer filer fra ~ / Downloads til ~ / Documents-biblioteket, kommandoen er:
$ rsync -a --exclude = "*.zip "/ hjem / tin / Downloads / / hjem / tin / DokumenterKopier filer og mapper eksternt
Med Rsync kan du kopiere en enkelt fil, flere filer og mapper til et eksternt system. For at kopiere filer og mapper eksternt, skal du:
- Rsync installeret på både lokalt og eksternt system
- SSH-adgang til fjernsystemet
- Fjernbrugeradgangskode
Inden du kopierer filer ved hjælp af rsync, skal du sørge for at få adgang til fjernsystemet via SSH:
$ ssh remote_user @ remote_ip
Den generelle syntaks til kopiering af filer og mapper til et eksternt system ved hjælp af rsync:
For eksempel at kopiere en enkelt fil “fil.txt ”fra ~ / Downloads til eksternt system ~ / Dokumentmappe, kommandoen ville være:
$ rsync -v ~ / Downloads / file1.txt umara @ 192.168.72.164: ~ / Dokumenter
På samme måde kopieres "~ / Downloads / files" -mappen i et lokalt system med dets underkatalog og alt indhold til "~ / Downloads / samples" -mappen på det eksterne system:
$ rsync -rv ~ / Downloads / filer umara @ 192.168.72.164: ~ / Downloads / prøver
Du kan også kopiere filerne og mapperne fra den eksterne maskine til din lokale maskine. For eksempel at kopiere en “fil2.txt ”fra fjernsystemet til det lokale systembord:
$ rsync -v umara @ 192.168.72.164: ~ / Downloads / fil2.txt ~ / Desktop /
Tilsvarende at kopiere en mappe fra det eksterne system til det lokale system
$ rsync -rv umara @ 192.168.72.164: ~ / Downloads / prøve ~ / Desktop / testDu kan også bruge alle indstillinger som -max-størrelse, -min-størrelse, -ekskludere og andre, mens du kopierer filer til / fra fjernsystemet.
Rsync er et fantastisk værktøj til kopiering af filer fra kilde til destination enten lokalt eller eksternt. Det inkluderer et stort sæt valgmuligheder, der giver dig fleksibilitet og kontrol, mens du overfører filer til / fra fjernsystemet.