Sådan bruges rsync -kommando til at kopiere filer på Ubuntu

How Use Rsync Command Copy Files Ubuntu

rsync er et værktøj til kopiering af filer. rsync bruges til at kopiere filer fra din computer til en fjernmaskine, fra en fjernmaskine til din computer, fra et bibliotek til et andet bibliotek på den samme computer, fra din computer til en ekstern harddisk eller netværksdeling osv. rsync kan også være bruges til at tage trinvise sikkerhedskopier.

I denne artikel vil jeg vise dig, hvordan du bruger kommandoen rsync til at kopiere filer og mapper og tage trinvis sikkerhedskopiering. Jeg vil bruge Ubuntu til demonstrationen. Men enhver moderne Linux -distribution skal fungere fint. Så lad os komme i gang.







Installation af rsync:

rsync skulle allerede være installeret på Ubuntu. Men hvis det af en eller anden grund ikke er installeret på din computer, kan du nemt installere det fra det officielle pakkeopbevaringssted for Ubuntu med følgende kommando:



$sudopassendeinstallerersync-og



Format for rsync -kommandoen:

Grundformatet for rsync -kommandoen er,





$rsync mulighederkildebestemmelsessted
  • kilde kan være en fil eller et bibliotek eller en netværkssti.
  • bestemmelsessted kan være et bibliotek eller en netværkssti.
  • rsync har mange muligheder. Du kan ændre adfærden for rsync ved hjælp af disse muligheder. Vi vil se på nogle af de mest almindelige muligheder undervejs.

Når du bruger rsync, skal du vide følgende ting:

  • Hvis du sætter en / efter biblioteksnavnet i kilde af rsync som mine filer/ , betyder det, at du kun skal kopiere alle filerne inde fra biblioteket til bestemmelsessted .
  • Hvis du ikke sætter en / efter biblioteksnavnet i kilde af rsync som mine filer , så kopierer rsync alle filerne fra biblioteket til bestemmelsessted inklusive biblioteket.
  • Hvis du skriver en bestemmelsessted mappesti, der ikke findes, vil rsync automatisk oprette den efter behov.

Sikkerhedskopiering af lokale filer og mapper med rsync:

Du kan meget hurtigt kopiere filer fra et bibliotek til et andet bibliotek på din computer med rsync .



Lad os f.eks. Sige, at du har nogle vigtige filer i ~/Downloads vejviser. Nu vil du sikkerhedskopiere alle filerne fra ~/Downloads bibliotek til dit USB -tommelfingerdrev /dev/sdb1 monteret i biblioteket / mnt / myusb .

Lad os lave nogle dummy -filer i ~/Downloads vejviser.

$røre ved~/Downloads/prøve{1..100}

Kopier nu alle filerne fra ~/Downloads bibliotek til / mnt / myusb bibliotek med følgende rsync -kommando:

$rsync-avzh~/Downloads/ /mnt/myusb

Filerne skal kopieres.

Som du kan se, er filerne i / mnt / myusb vejviser.

Du kan også kopiere det hele ~/Downloads mappe til dit USB -tommelfingerdrev som følger:

$rsync-avzh~/Downloads/mnt/myusb

Som du kan se, bliver hele biblioteket kopieret til USB -hukommelsesdrevet.

Igen, hvis du ville kopiere alle filerne fra ~/Downloads bibliotek til et andet bibliotek (lad os sige mydownloads/) på dit USB -tommelfinger -drev, kør rsync som følger:

$rsync-avzh~/Downloads/ /mnt/myusb/min downloads

Som du kan se, kopieres filerne korrekt til USB -tommelfingerdrevet.

Sikkerhedskopiering af eksterne filer og mapper med rsync:

Med rsync kan du kopiere filer og mapper fra en fjernserver til dit lokale filsystem eller USB -hukommelsesdrev til backup. Du kan også kopiere filer og mapper fra dit lokale filsystem til din eksterne backup -server. rsync bruger SSH til at kopiere filer og mapper til/fra ekstern server.

Du skal have SSH -serverpakke ( openssh-server på Ubuntu) og rsync pakke installeret på fjernserveren, hvis du vil bruge rsync til sikkerhedskopiering af filer.

Lad os for eksempel sige, at du vil kopiere alt indhold (inklusive biblioteket) i /www mappe fra din fjernserver www.example1.com til dit USB -tommelfinger -drev monteret på stien / mnt / myusb på dit lokale filsystem.

For at gøre det kan du bruge følgende rsync -kommando:

$rsync-avzhrod@www.example1.com:/www/mnt/myusb

BEMÆRK: Her, rod er det eksterne brugernavn, www.example1.com er fjernserverens DNS -navn og /www er en biblioteksti på den eksterne server. Du kan også bruge IP -adressen på fjernserveren i stedet for DNS -navnet, hvis du vil.

Du kan muligvis se følgende meddelelse, hvis du opretter forbindelse til fjernserveren for første gang. Bare indtast Ja og tryk derefter på .

Indtast nu adgangskoden til fjernbrugeren (i mit tilfælde er det rod ), og tryk på .

Alle filer og mapper inde i /www bibliotek inklusive biblioteket /www skal kopieres over til USB -tommelfinger -drevet, som du kan se på skærmbilledet herunder.

Du kan også kopiere filer fra dit lokale filsystem til din fjernserver med rsync.

I det tidligere eksempel har du taget en sikkerhedskopi af /www bibliotek på den eksterne server. Lad os nu sige, at nogle af filerne på fjernserveren er beskadiget, og du vil gendanne dem fra sikkerhedskopien.

For at gøre det skal du køre kommandoen rsync som følger:

$rsync-avzh /mnt/myusb/www/rod@www.example1.com:/www

Indtast nu adgangskoden til din fjernserver, og tryk på .

Filerne skal kopieres fra dit lokale filsystem til fjernserveren.

Tager inkrementelle sikkerhedskopier med rsync:

I denne type sikkerhedskopiering er kilde og bestemmelsessted biblioteker holdes synkroniseret. Hvis der tilføjes en fil til kilde bibliotek, tilføjes det til bestemmelsessted bibliotek også. På samme måde, hvis en fil eller mappe fra kilde bibliotek fjernes, fjernes det fra bestemmelsessted bibliotek også.

rsync er et fantastisk værktøj til at tage inkrementel backup.

Lad os sige, at du har et bibliotek ~/sky i din brugers HJEM vejviser. Nu vil du tage trinvis sikkerhedskopiering af biblioteket til et USB -tommelfinger -drev monteret på stien / mnt / usb1 på en fjernserver backup.example.com .

BEMÆRK: Du må have openssh-server og rsync pakker installeret på din fjernserver for at dette kan fungere.

For at tage trinvis sikkerhedskopiering af ~/sky , kør følgende kommando:

$rsync-avzh -slet --fremskridt~/Sky/shovon@backup.example.com:/mnt/usb1/backup

Indtast nu adgangskoden til din eksterne bruger, og tryk på .

Indholdet i ~/sky bibliotek skal kopieres til USB -tommelfinger -drevet på den eksterne server.

Som du kan se, kopieres alle filerne over til USB -tommelfinger -drevet, der er monteret på den eksterne backup -server.

Lad os nu fjerne en fil fra det lokale filsystem og se, hvad der sker.

$rm~/Sky/packages.txt

Brug nu rsync til at synkronisere bibliotekerne igen med den samme kommando som før.

$rsync-avzh -slet --fremskridt~/Sky/shovon@backup.example.com:/mnt/usb1/backup

Som du kan se, filen packages.txt fjernes også fra USB -hukommelsesdrevet, der er monteret på den eksterne backup -server.

Hvor skal man gå Næste:

Du kan finde flere oplysninger om rsync på man -siden i rsync. Rsync -mandsiden har en detaljeret beskrivelse af alle mulighederne for rsync. Jeg anbefaler stærkt, at du tjekker det ud.

Du kan få adgang til mandsiden for rsync med følgende kommando:

$mandrsync

Så sådan bruger du rsync til at kopiere filer og tage trinvise sikkerhedskopier på Ubuntu. Tak fordi du læste denne artikel.