Hvordan bruke rsync Command til å kopiere filer på Ubuntu

How Use Rsync Command Copy Files Ubuntu



rsync er et verktøy for å kopiere filer. rsync brukes til å kopiere filer fra datamaskinen til en ekstern maskin, fra en ekstern maskin til datamaskinen, fra en katalog til en annen katalog på samme datamaskin, fra datamaskinen til en ekstern harddisk eller nettverksdeling etc. rsync kan også være brukes til å ta trinnvise sikkerhetskopier.

I denne artikkelen skal jeg vise deg hvordan du bruker kommandoen rsync til å kopiere filer og kataloger og ta trinnvis sikkerhetskopiering. Jeg vil bruke Ubuntu for demonstrasjonen. Men enhver moderne Linux -distribusjon bør fungere helt fint. Så, la oss komme i gang.







Installere rsync:

rsync bør allerede være installert på Ubuntu. Men hvis den av en eller annen grunn ikke er installert på datamaskinen din, kan du enkelt installere den fra det offisielle pakkelageret til Ubuntu med følgende kommando:



$sudopassendeinstallerersync-og



Format for rsync -kommandoen:

Det grunnleggende formatet for rsync -kommandoen er,





$rsync -alternativerkildemål
  • kilde kan være en fil eller en katalog eller en nettverksbane.
  • mål kan være en katalog eller en nettverksbane.
  • rsync har mange alternativer. Du kan endre oppførselen til rsync ved å bruke disse alternativene. Vi vil ta en titt på noen av de vanligste alternativene underveis.

Når du bruker rsync, må du vite følgende ting:

  • Hvis du legger en / etter katalognavnet i kilde av rsync som mine filer/ , betyr det at du bare kopierer alle filene fra katalogen til mål .
  • Hvis du ikke legger til en / etter katalognavnet i kilde av rsync som mine filer , vil rsync kopiere alle filene fra katalogen til mål inkludert katalogen.
  • Hvis du skriver inn a mål katalogbanen som ikke eksisterer, vil rsync automatisk opprette den etter behov.

Sikkerhetskopiere lokale filer og kataloger med rsync:

Du kan kopiere filer fra en katalog til en annen katalog på datamaskinen din veldig raskt med rsync .



La oss for eksempel si at du har noen viktige filer i ~/Nedlastinger katalog. Nå vil du sikkerhetskopiere alle filene fra ~/Nedlastinger katalogen til USB -minnepinnen /dev/sdb1 montert i katalogen / mnt / myusb .

La oss lage noen dummy -filer i ~/Nedlastinger katalog.

$ta på~/Nedlastinger/test{1..100}

Nå, kopier alle filene fra ~/Nedlastinger katalog til / mnt / myusb katalogen med følgende rsync -kommando:

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

Filene skal kopieres.

Som du kan se, er filene i / mnt / myusb katalog.

Du kan også kopiere hele ~/Nedlastinger katalogen til USB -minnepinnen som følger:

$rsync-avzh~/Nedlastinger/mnt/myusb

Som du kan se, blir hele katalogen kopiert til USB -minnepinnen.

Igjen, hvis du ønsket å kopiere alle filene fra ~/Nedlastinger katalog til en annen katalog (la oss si nedlastinger/) på USB -minnepinnen, kjør rsync som følger:

$rsync-avzh~/Nedlastinger/ /mnt/myusb/nedlastingene mine

Som du kan se, blir filene kopiert riktig til USB -minnepinnen.

Sikkerhetskopiere eksterne filer og kataloger med rsync:

Med rsync kan du kopiere filer og kataloger fra en ekstern server til ditt lokale filsystem eller USB -minne for sikkerhetskopiering. Du kan også kopiere filer og kataloger fra ditt lokale filsystem til den eksterne sikkerhetskopieringsserveren. rsync bruker SSH for å kopiere filer og kataloger til/fra ekstern server.

Du må ha SSH -serverpakke ( openssh-server på Ubuntu) og rsync pakke installert på den eksterne serveren hvis du vil bruke rsync for sikkerhetskopiering av filer.

La oss for eksempel si at du vil kopiere alt innholdet (inkludert katalogen) til /www katalog fra din eksterne server www.example1.com til USB -minnepinnen som er montert på banen / mnt / myusb på ditt lokale filsystem.

For å gjøre det, kan du bruke følgende rsync -kommando:

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

MERK: Her, rot er det eksterne brukernavnet, www.example1.com er den eksterne serverens DNS -navn og /www er en katalogbane på den eksterne serveren. Du kan også bruke IP -adressen til den eksterne serveren i stedet for DNS -navnet hvis du vil.

Du kan se følgende melding hvis du kobler deg til den eksterne serveren for første gang. Bare skriv inn ja og trykk deretter .

Skriv inn passordet for den eksterne brukeren (i mitt tilfelle er det rot ) og trykk .

Alle filene og katalogene inne i /www katalogen inkludert katalogen /www skal kopieres over til USB -minnepinnen som du kan se på skjermbildet nedenfor.

Du kan også kopiere filer fra ditt lokale filsystem til din eksterne server med rsync.

I det tidligere eksemplet har du tatt en sikkerhetskopi av /www katalogen på den eksterne serveren. La oss si at noen av filene på den eksterne serveren er skadet, og du vil gjenopprette dem fra sikkerhetskopien.

For å gjøre det, kjør kommandoen rsync som følger:

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

Skriv inn passordet til den eksterne serveren og trykk .

Filene skal kopieres fra ditt lokale filsystem til den eksterne serveren.

Ta inkrementelle sikkerhetskopier med rsync:

I denne typen sikkerhetskopiering vil kilde og mål kataloger holdes synkronisert. Hvis en fil er lagt til i kilde katalogen, blir den lagt til i mål katalog også. På samme måte hvis en fil eller katalog fra kilde katalogen er fjernet, er den fjernet fra mål katalog også.

rsync er et flott verktøy for å ta trinnvis sikkerhetskopiering.

La oss si at du har en katalog ~/sky i brukerens HJEM katalog. Nå vil du ta trinnvis sikkerhetskopiering av katalogen til en USB -minnepinne som er montert på banen / mnt / usb1 på en ekstern server backup.example.com .

MERK: Du må ha openssh-server og rsync pakker installert på din eksterne server for at dette skal fungere.

For å ta trinnvis sikkerhetskopiering av ~/sky , kjør følgende kommando:

$rsync-avzh -slette --framgang~/Sky/shovon@backup.example.com:/mnt/usb1/sikkerhetskopiering

Skriv inn passordet for den eksterne brukeren og trykk .

Innholdet i ~/sky katalogen skal kopieres til USB -minnepinnen på den eksterne serveren.

Som du kan se, blir alle filene kopiert til USB -minnepinnen som er montert på den eksterne sikkerhetskopieringsserveren.

La oss nå fjerne en fil fra det lokale filsystemet og se hva som skjer.

$rm~/Sky/packages.txt

Bruk nå rsync til å synkronisere katalogene igjen med samme kommando som før.

$rsync-avzh -slette --framgang~/Sky/shovon@backup.example.com:/mnt/usb1/sikkerhetskopiering

Som du kan se, filen packages.txt er også fjernet fra USB -minnepinnen som er montert på den eksterne sikkerhetskopieringsserveren.

Hvor skal du gå neste:

Du finner mer informasjon om rsync på mannssiden til rsync. Mannssiden til rsync har detaljert beskrivelse av alle alternativene for rsync. Jeg anbefaler på det sterkeste at du sjekker det.

Du får tilgang til mansiden til rsync med følgende kommando:

$Mannrsync

Så det er slik du bruker rsync til å kopiere filer og ta trinnvise sikkerhetskopier på Ubuntu. Takk for at du leste denne artikkelen.