Articles

hur man använder Rsync kommando för att kopiera filer på Ubuntu

rsync är ett verktyg för att kopiera filer. rsync används för att kopiera filer från din dator till en fjärrmaskin, från en fjärrmaskin till din dator, från en katalog till en annan katalog på samma dator, från din dator till en extern hårddisk eller Nätverksdelning etc. rsync kan också användas för att ta inkrementella säkerhetskopior.

i den här artikeln ska jag visa dig hur du använder rsync-kommandot för att kopiera filer och kataloger och ta inkrementell säkerhetskopiering. Jag kommer att använda Ubuntu för demonstrationen. Men någon modern Linux-distribution borde fungera bra. Så, låt oss komma igång.

installera rsync:

rsync bör redan installeras på Ubuntu. Men om det inte är installerat på din dator av någon anledning kan du enkelt installera det från Ubuntu: s officiella paketförvar med följande kommando:

$ sudo apt install rsync-y

format för kommandot rsync:

det grundläggande formatet för kommandot rsync är,

$ rsync-alternativ källdestination
  • källa kan vara en fil eller en katalog eller en nätverksväg.
  • destination kan vara en katalog eller en nätverksväg.
  • rsync har många alternativ. Du kan ändra beteendet hos rsync med hjälp av dessa alternativ. Vi kommer att ta en titt på några av de vanligaste alternativen på vägen.

När du använder rsync måste du veta följande saker:

  • Om du lägger en / efter katalognamnet i källan till rsync som myfiles/, betyder det att kopiera alla filer från katalogen endast till destinationen.
  • Om du inte lägger ett / efter katalognamnet i källan till rsync, t.ex. myfiles, kopierar rsync alla filer från katalogen till destinationen inklusive katalogen.
  • Om du skriver in en målkatalogsökväg som inte finns, skapar rsync den automatiskt efter behov.

säkerhetskopiera lokala filer och kataloger med rsync:

Du kan kopiera filer från en katalog till en annan katalog på din dator mycket snabbt med rsync.

låt oss till exempel säga att du har några viktiga filer i katalogen ~/Downloads. Nu vill du säkerhetskopiera alla filer från katalogen ~/Downloads till din USB-minne /dev/sdb1 monterad i katalogen /mnt/myusb.

Låt oss göra några dummy-filer i katalogen ~/Downloads.

$ touch ~/nedladdningar/test{1..100}

kopiera nu alla filer från katalogen ~/Downloads till /MNT/myusb-katalogen med följande rsync-kommando:

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

filerna ska kopieras.

som du kan se finns filerna i katalogen /mnt/myusb.

Du kan också kopiera hela ~/Downloads-katalogen till din USB-minne enligt följande:

$ rsync-AVZH ~/Downloads /mnt/myusb

som du kan se kopieras hela katalogen över till USB-minne.

återigen, om du vill kopiera alla filer från katalogen ~/ Downloads till en annan katalog (låt oss säga mydownloads/) på din USB-minne, kör rsync enligt följande:

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

som du kan se kopieras filerna korrekt till USB-minne.

säkerhetskopiera fjärrfiler och kataloger med rsync:

med rsync kan du kopiera filer och kataloger från en fjärrserver till ditt lokala filsystem eller USB-minne för säkerhetskopiering. Du kan också kopiera filer och kataloger från ditt lokala filsystem till din fjärrbackupserver. rsync använder SSH för att kopiera filer och kataloger till/från fjärrservern.

Du måste ha SSH server package (openssh-server på Ubuntu) och rsync package installerat på fjärrservern om du vill använda rsync för säkerhetskopiering av filer.låt oss till exempel säga att du vill kopiera allt innehåll (inklusive katalogen) i / www-katalogen från din fjärrserver www.example1.com till din USB – minne monterad på sökvägen / mnt / myusb på ditt lokala filsystem.

för att göra det kan du använda följande rsync-kommando:

$ rsync-avzh [email protected]:/www /mnt/myusb

OBS: Här är root det avlägsna användarnamnet, www.example1.com är fjärrserverns DNS-namn och / www är en katalogväg på fjärrservern. Du kan också använda fjärrserverns IP-adress istället för DNS-namn om du vill.

Du kan se följande meddelande om du ansluter till fjärrservern för första gången. Skriv bara in Ja och tryck sedan på <ange>.

Skriv nu in lösenordet för fjärranvändaren (i mitt fall är det root) och tryck på <ange>.

alla filer och kataloger i /www-katalogen inklusive katalogen /www ska kopieras över till USB-minne som du kan se på skärmdumpen nedan.

Du kan också kopiera filer från ditt lokala filsystem till din fjärrserver med rsync.

i det tidigare exemplet har du tagit en säkerhetskopia av / www-katalogen på fjärrservern. Låt oss nu säga att några av filerna på fjärrservern är skadade och du vill återställa dem från säkerhetskopian.

för att göra det, kör rsync-kommandot enligt följande:

$ rsync -avzh / mnt / myusb/ www / [email protected]:/www

Skriv nu in lösenordet för din fjärrserver och tryck på <ange>.

filerna ska kopieras från ditt lokala filsystem till fjärrservern.

ta inkrementella säkerhetskopior med rsync:

i denna typ av säkerhetskopiering hålls käll-och destinationskatalogerna synkroniserade. Om någon fil läggs till i källkatalogen läggs den också till i destinationskatalogen. På samma sätt, om någon fil eller katalog från källkatalogen tas bort, tas den också bort från destinationskatalogen.

rsync är ett bra verktyg för att ta inkrementell säkerhetskopiering.

låt oss säga att du har en katalog ~ / moln i användarens hemkatalog. Nu vill du ta inkrementell säkerhetskopiering av katalogen till en USB-minne monterad på sökvägen / mnt / usb1 på en fjärrserver backup.example.com.

notera: Du måste ha openssh-server och rsync-paket installerade på din fjärrserver för att detta ska fungera.

för att ta inkrementell säkerhetskopiering av ~/molnet, kör följande kommando:

$ rsync-avzh –delete –progress ~/moln/ [email protected]:/mnt/usb1/backup

Skriv nu in lösenordet för din fjärranvändare och tryck på <ange>.

innehållet i katalogen ~/cloud ska kopieras över till USB-minne på fjärrservern.

som du kan se kopieras alla filer över till USB-enheten monterad på fjärrbackupservern.

Låt oss nu ta bort en fil från det lokala filsystemet och se vad som händer.

$ rm ~/moln/paket.txt

använd nu rsync för att synkronisera katalogerna igen med samma kommando som tidigare.

$ rsync-avzh –delete — progress ~/cloud/ [email protected]:/mnt/usb1/backup

som du kan se, filpaket.txt tas också bort från USB-enheten monterad på fjärrbackupservern.

vart ska man gå nästa:

Du hittar mer information om rsync på man-sidan i rsync. Man-sidan i rsync har detaljerad beskrivning av alla alternativ i rsync. Jag rekommenderar starkt att du kolla in det.

Du kan komma åt man-sidan i rsync med följande kommando:

$ man rsync

så det är så du använder rsync för att kopiera filer och ta inkrementella säkerhetskopior på Ubuntu. Tack för att du läste den här artikeln.