Sådan bruges rsync til at kopiere filer

How Use Rsync Copy Files



Rsync er et kommandolinjeværktøj i Linux, der bruges til at kopiere filer fra en kildeplacering til en destinationsplacering. Du kan kopiere filer, mapper og hele filsystemet og synkronisere filerne mellem forskellige biblioteker. Det gør mere end bare at kopiere filerne. Det reducerer mængden af ​​data, der sendes over netværket, ved kun at sende de nye eller opdaterede filer. Derfor betragtes det som et fantastisk værktøj til filkopiering og sikkerhedskopiering. Rsync understøtter også kopiering af filer til et fjernsystem over SSH.

I denne artikel vil vi forklare, hvordan du 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 i det lokale system
  • Kopier fil/bibliotek fra lokalt til fjernsystemet
  • Kopier fil/bibliotek fra fjernsystemet til lokalt

Vi har forklaret kommandoer og procedure nævnt i denne artikel om en Ubuntu 20.04 LTS. Du skal bruge kommandolinjeterminalen til at kopiere filer ved hjælp af rsync. Brug tastaturgenvejen Ctrl+Alt+T for at åbne kommandolinjens Terminal -applikation.



Installation af Rsync

Rsync kommer forudinstalleret i Ubuntu 20.04 LTS. Men hvis det ved et uheld blev fjernet fra systemet, kan du installere det som følger:



$sudopassendeinstallerersync

Her er nogle af de almindeligt anvendte muligheder, der kan bruges med rsync:





–A: arkivtilstand
–V: viser detaljer om kopieringsprocessen
–P: viser statuslinjen
–R: kopierer data rekursivt
–Z: komprimerer data
–Q: undertrykke output

Kopier filer og mapper lokalt

Den generelle syntaks for rsync er:



$rsync[mulighed] [kilde] [bestemmelsessted]

Kopier en enkelt fil lokalt

Hvis du vil kopiere en fil fra et sted til et andet i dit system, kan du gøre det ved at skrive rsync efterfulgt af kildefilnavnet og destinationsmappen.

For eksempel, for at kopiere en enkelt fil file1.txt fra den aktuelle placering, der er hjemmemappe til ~/Documents bibliotek, ville kommandoen være:

$rsync/hjem/tro på/file1.txt/hjem/tro på/Dokumenter

Bemærk: I stedet for /home/tin/file1.txt kan vi også skrive fil1, da vi i øjeblikket arbejder i hjemmekataloget. Vi kan også bruge ~/Documents i stedet for at nævne hele stien som/home/tin/Documents.

Kopier flere filer lokalt

Hvis du vil kopiere flere filer på én gang fra et sted til et andet i dit system, kan du gøre det ved at skrive rsync efterfulgt af kildefilernes navn og destinationsmappen.

For eksempel, for at kopiere filerne file2.txt og file3.txt fra hjemmemappen til ~/Documents bibliotek, ville kommandoen være:

$rsync/hjem/tro på/file2.txt/hjem/tro på/file3.txt/hjem/tro på/Dokumenter

For at kopiere alle filerne med den samme udvidelse kan du bruge stjerne (*) symbolet i stedet for at angive filnavnene individuelt. For eksempel, for at kopiere alle filerne fra hjemmekataloget, der slutter med .zip -udvidelsen, til ~/Documents -biblioteket, bruger vi:

$rsync/hjem/tro på/ *.zip ~/Dokumenter

Kopier mapper lokalt

Hvis du vil kopiere en mappe med dens undermappe og alt indhold fra et sted til et andet i dit system, kan du gøre det som ved at skrive rsync efterfulgt af kilde- og destinationsmappe.

For eksempel, for at kopiere eksempelmappen til test/ bibliotek i hjemmemappen, ville kommandoen være:

$rsync-af /hjem/tro på/prøve/hjem/tro på/prøve

Bemærk: Angivelse af / efter kildekataloget kopierer kun indholdet af biblioteket. Hvis vi ikke angiver /efter kildekataloget, vil kildekataloget også blive kopieret til destinationsmappen.

Ligesom i det følgende output kan du se, at vores kildekatalogeksempel 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 nye eller opdaterede filer.

Kopier filer baseret på maksimal størrelse

Under kopiering kan vi også angive den maksimale størrelse på filer, der kan kopieres med indstillingen –max-størrelse. For eksempel, for at kopiere filerne ikke større end 2000k fra ~/Downloads til ~/Documents bibliotek, ville kommandoen være:

$rsync-til --max-størrelse= 2000k/hjem/tro på/Downloads/ * /hjem/tro på/Dokumenter

Denne kommando kopierer alle filer fra ~/Downloads til ~/Documents bibliotek undtagen dem, der er større end 2000k.

Kopier filer baseret på minimumsstørrelse

På samme måde kan vi også angive minimumsstørrelsen på filer, der kan kopieres med indstillingen –min-størrelse. For eksempel, for at kopiere filerne ikke mindre end 5M fra ~/Downloads til ~/Documents bibliotek, ville kommandoen være:

$rsync-til --min-størrelse= 5 mio/hjem/tro på/Downloads/ /hjem/tro på/Dokumenter

Denne kommando kopierer alle filerne fra ~/Downloads til biblioteket ~/Documents 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 —exclude -indstilling efterfulgt af filnavnet eller filtypenavnet.

For eksempel for at ekskludere alle .zip -filer, mens du kopierer filer fra ~/Downloads til ~/Documents bibliotek, ville kommandoen være:

$rsync-til --udelukke='*.zip' /hjem/tro på/Downloads/ /hjem/tro på/Dokumenter

Kopier filer og mapper eksternt

Med Rsync kan du kopiere en enkelt fil, flere filer og mapper til et eksternt system. For eksternt at kopiere filer og mapper skal du bruge:

  • Rsync installeret på både lokalt og fjernt system
  • SSH -adgang til det eksterne system
  • Fjernbrugeradgangskode

Inden du kopierer filer ved hjælp af rsync, skal du sørge for at få adgang til fjernsystemet via SSH:

$sshremote_user@remote_ip


Den generelle syntaks for kopiering af filer og mapper til et fjernsystem ved hjælp af rsync:

$rsync[mulighed] [kilde] [fjernbruger@remoteip: destination]

For eksempel, for at kopiere en enkelt fil file.txt fra ~/Downloads til fjernsystem ~/Documents bibliotek, ville kommandoen være:

$rsync-v~/Downloads/file1.txt umara@192.168.72.164:~/Dokumenter

Tilsvarende kopieres mappen ~/Downloads/files i et lokalt system med dets undermappe og alt indhold til ~/Downloads/samples-mappen på det eksterne system:

$rsync-rv~/Downloads/filer umra@192.168.72.164:~/Downloads/prøver

Du kan også kopiere filer og mapper fra fjernmaskinen til din lokale maskine. For eksempel at kopiere en file2.txt fra fjernsystemet til det lokale systemskrivebord:

$rsync-vumara@192.168.72.164:~/Downloads/file2.txt ~/Skrivebord/

Tilsvarende at kopiere en mappe fra fjernsystemet til det lokale system

$rsync-rvumara@192.168.72.164:~/Downloads/prøve ~/Skrivebord/prøve

Du kan også bruge alle mulighederne som –max-size, –min-size, –exclude og andre, mens du kopierer filer til/fra det eksterne system.

Rsync er et fantastisk værktøj til at kopiere filer fra kilde til destination enten lokalt eller eksternt. Det indeholder et stort sæt muligheder, der giver dig fleksibilitet og kontrol, mens du overfører filer til/fra det eksterne system.