I den här artikeln kommer vi att förklara hur man använder rsync för att kopiera filer med några praktiska exempel. Vi kommer också att förklara användningen av rsync vid kopiering av en enda fil, flera filer och katalog till både lokala och fjärrsystem. Vi kommer att täcka hur man använder Rsync för att:
- Kopiera fil / katalog inom det lokala systemet
- Kopiera fil / katalog från lokalt till fjärrsystemet
- Kopiera fil / katalog från fjärrsystemet till lokalt
Vi har förklarat kommandona och proceduren som nämns i den här artikeln på en Ubuntu 20.04 LTS. Du behöver kommandoradsterminalen för att kopiera filer med rsync. För att öppna kommandoradsterminalapplikationen använder du tangentbordsgenvägen Ctrl + Alt + T.
Installerar Rsync
Rsync kommer förinstallerat i Ubuntu 20.04 LTS. Om det av misstag tas bort från systemet kan du installera det enligt följande:
$ sudo apt install rsyncHär är några av de vanligaste alternativen som kan användas med rsync:
-a: arkivläge
-v: visar detaljer om kopieringsprocessen
-p: visar förloppsindikatorn
-r: kopierar data rekursivt
-z: komprimerar data
-q: undertrycka utdata
Kopiera filer och kataloger lokalt
Den allmänna syntaxen för rsync är:
$ rsync [option] [source] [destination]Kopiera en enda fil lokalt
Om du vill kopiera en fil från en plats till en annan inom ditt system kan du göra det genom att skriva rsync följt av källfilens namn och målkatalogen.
Till exempel att kopiera en enstaka fil “fil1.txt ”från den aktuella platsen som är hemkatalogen till ~ / Dokumentkatalogen, skulle kommandot vara:
$ rsync / home / tin / file1.txt / hem / tenn / Dokument
Obs: I stället för “/ home / tin / file1.txt ”kan vi också skriva“ file1 ”eftersom vi för närvarande arbetar i hemkatalogen. Vi kan också använda ~ / Documents istället för att nämna hela sökvägen som "/ home / tin / Documents".
Kopiera flera filer lokalt
Om du vill kopiera flera filer samtidigt från en plats till en annan i ditt system kan du göra det genom att skriva rsync följt av källfilernas namn och målkatalogen.
Till exempel för att kopiera filerna “file2.txt ”och” file3.txt ”från hemkatalogen till ~ / Dokumentkatalogen skulle kommandot vara:
$ rsync / home / tin / file2.txt / hem / tenn / fil 3.txt / hem / tenn / Dokument
För att kopiera alla filer med samma förlängning kan du använda asterisk (*) -symbol istället för att ange filnamnen individuellt. Till exempel att kopiera alla filer från hemkatalogen som slutar med “.zip ”-tillägg till katalogen ~ / Documents, vi kommer att använda:
$ rsync / home / tin / *.zip ~ / DokumentKopiera kataloger lokalt
Om du vill kopiera en katalog med dess underkatalog och allt innehåll från en plats till en annan inom ditt system kan du göra det genom att skriva rsync följt av käll- och målkatalogen.
Till exempel, för att kopiera katalogen "exempel" till "test /" -katalogen i hemkatalogen skulle kommandot vara:
$ rsync -av / hem / tenn / prov / hem / tenn / testObs! Om du anger “/” efter källkatalogen kopieras endast innehållet i katalogen. Om vi inte anger “/” efter källkatalogen kommer källkatalogen också att kopieras till målkatalogen.
Liksom i följande utdata kan du se att vår källkatalog "exempel" också kopieras till målkatalogen (eftersom vi har använt "prov" istället för "prov /" som en källkatalog).
Rsync stöder inkrementell överföring som du kan se i ovanstående utdata att den bara överför de filer som är nya eller uppdaterade.
Kopiera filer baserat på maximal storlek
Under kopieringen kan vi också ange den maximala storleken på filer som kan kopieras med alternativet “-max-storlek”. Till exempel, för att kopiera filer som inte är större än 2000k från ~ / Nedladdningar till ~ / Dokumentkatalog, skulle kommandot vara:
$ rsync -a --max-storlek = 2000k / hem / tenn / Nedladdningar / * / hem / tenn / DokumentDetta kommando kopierar alla filer från ~ / Nedladdningar till ~ / Dokumentkatalog utom de som är större än 2000k.
Kopiera filer baserat på minsta storlek
På samma sätt kan vi också ange minsta storlek på filer som kan kopieras med alternativet "-min-storlek". Till exempel, för att kopiera filerna inte mindre än 5M från ~ / Nedladdningar till ~ / Dokument-katalogen skulle kommandot vara:
$ rsync -a --min-size = 5M / hem / tenn / Nedladdningar / / hem / tenn / DokumentDetta kommando kommer att kopiera alla filer från ~ / Nedladdningar till katalogen ~ / Dokument utom de som är mindre än 5M.
Uteslut filer
När du kopierar filer från en katalog till en annan kan du utesluta vissa filer med alternativet "-exkludera" följt av filnamnet eller filtypsförlängningen.
Till exempel för att utesluta alla .zip-filer medan du kopierar filer från ~ / Nedladdningar till ~ / Dokumentkatalog, skulle kommandot vara:
$ rsync -a --exclude = "*.zip "/ hem / tenn / Nedladdningar / / hem / tenn / DokumentKopiera filer och kataloger på distans
Med Rsync kan du kopiera en enda fil, flera filer och kataloger till ett fjärrsystem. För att kunna kopiera filer och kataloger på distans behöver du:
- Rsync installerat på både lokalt och fjärrsystem
- SSH-åtkomst till fjärrsystemet
- Fjärranvändarlösenord
Innan du kopierar filer med rsync, se till att du kan komma åt fjärrsystemet via SSH:
$ ssh remote_user @ remote_ip
Den allmänna syntaxen för kopiering av filer och kataloger till ett fjärrsystem med rsync:
Till exempel för att kopiera en fil ”fil.txt ”från ~ / Nedladdningar till fjärrsystem ~ / Dokumentkatalog, kommandot skulle vara:
$ rsync -v ~ / Nedladdningar / fil1.txt umara @ 192.168.72.164: ~ / Dokument
På samma sätt kan du kopiera katalogen “~ / Downloads / files” i ett lokalt system med dess underkatalog och allt innehåll till katalogen “~ / Downloads / samples” på fjärrsystemet:
$ rsync -rv ~ / Nedladdningar / filer umara @ 192.168.72.164: ~ / Nedladdningar / prover
Du kan också kopiera filer och kataloger från fjärrmaskinen till din lokala maskin. Till exempel att kopiera en “fil2.txt ”från fjärrsystemet till det lokala systemets skrivbord:
$ rsync -v umara @ 192.168.72.164: ~ / Nedladdningar / fil2.txt ~ / Desktop /
På samma sätt för att kopiera en katalog från fjärrsystemet till det lokala systemet
$ rsync -rv umara @ 192.168.72.164: ~ / Nedladdningar / exempel ~ / Skrivbord / testDu kan också använda alla alternativ som -max-storlek, -min-storlek, -exkludera och andra medan du kopierar filer till / från fjärrsystemet.
Rsync är ett utmärkt verktyg för att kopiera filer från källa till destination antingen lokalt eller på distans. Den innehåller en stor uppsättning alternativ som ger dig flexibilitet och kontroll när du överför filer till / från fjärrsystemet.