Android

Hur man överför filer med rsync via ssh

Sicheres Backup mit rsync, SSH und LUKS [Kielux 2017]

Sicheres Backup mit rsync, SSH und LUKS [Kielux 2017]

Innehållsförteckning:

Anonim

När det gäller överföring av filer mellan system i nätverket har Linux- och Unix-användare många verktyg till sitt förfogande.

De mest populära protokollen för dataöverföring är SSH och FTP. Även om FTP är mycket populärt, föredrar du alltid att använda SSH eftersom det är det säkraste sättet att överföra dina filer.

Det finns specialverktyg för filöverföring över SSH som scp och sftp men ingen av dem har alla de funktioner som rsync tillhandahåller. rsync kan användas för spegling av data, inkrementella säkerhetskopior, kopiering av filer mellan system och så vidare.

I denna handledning kommer vi att förklara hur man kopierar filer med rsync över SSH.

Krav

  • rsync verktyget måste installeras på både destinations- och källsystemen. Om det inte är installerat kan du installera det med din distributionspakethanterare:

    Ubuntu och Debian:

    sudo apt install rsync

    CentOS och Fedora:

    sudo yum install rsync

    SSH-åtkomst till fjärrdatorn.

    Användaren som kör rsync kommandot och fjärr SSH-användaren måste ha lämpliga behörigheter för att läsa och skriva filer.

Använda rsync att överföra filer över SSH

Med rsync kan du överföra filer och kataloger över SSH från och till fjärrservrar.

Den allmänna syntaxen för överföring av filer med rsync är följande:

Local to Remote: rsync… -e ssh… HOST:DEST Remote to Local: rsync… -e ssh HOST:SRC…

Där SRC är DEST är DEST destinationskatalogen USER är fjärr SSH-användarnamn och HOST är fjärr SSH-värd eller IP-adress.

De nyare versionerna av rsync är konfigurerade för att använda SSH som standardfjärrskal så att du kan utelämna alternativet -e ssh .

För att till exempel överföra en enda fil /opt/file.zip från det lokala systemet till /var/www/ katalogen på fjärrsystemet med IP 12.12.12.12 skulle du köra:

rsync -a /opt/file.zip [email protected]:/var/www/

Alternativet -a står för arkivläge som synkroniserar kataloger rekursivt, överför special- och blockeringsenheter, bevarar symboliska länkar, modifieringstider, grupp, äganderätt och behörigheter.

Om filen finns på fjärrservern kommer den att skrivas över. Om du vill spara filen under ett annat namn anger du det nya namnet:

rsync -a /opt/file.zip [email protected]:/var/www/file2.zip

För att överföra data från en fjärrkontroll till en lokal maskin använder du fjärrplatsen som källa och den lokala platsen som destination:

rsync -a [email protected]:/var/www/file.zip /opt/

Att överföra kataloger med rsync över SSH är samma som att överföra filer.

Det är viktigt att veta att rsync ger olika behandling till källkatalogerna med en slash / . När källkatalogen har en bakstreck, kommer rsync att kopiera innehållet i källkatalogen till destinationskatalogen. När bakstrecket utelämnas kopieras källkatalogen i destinationskatalogen.

Till exempel för att överföra den lokala /opt/website/images/ katalogen till /var/www/images/ katalogen på en fjärrmaskin du skulle skriva:

rsync -a /home/linuxize/images/ [email protected]:/var/www/images/

Använd alternativet - --delete om du vill synkronisera den lokala och fjärrkatalogen. Var försiktig när du använder det här alternativet eftersom det kommer att radera filer i destinationskatalogen om de inte finns i källkatalogen.

rsync -a --delete /home/linuxize/images/ [email protected]:/var/www/images/

Om SSH på fjärrvärden lyssnar på en annan port än standard 22 , anger du porten med alternativet -e . Om SSH till exempel lyssnar på port 3322 skulle du använda:

rsync -a -e "ssh -p 3322" /home/linuxize/images/ [email protected]:/var/www/images/

Vid överföring av stora mängder data rekommenderas att köra rsync kommandot i en skärmsession eller använda -P alternativet som säger rsync att visa en framstegsfält under överföringen och behålla de delvis överförda filerna:

rsync -a -P /home/linuxize/images/ [email protected]:/var/www/images/

Slutsats

Vi har visat dig hur du använder rsync över SSH för att kopiera och synkronisera filer och kataloger.

Du kanske också vill läsa hur du utesluter filer eller kataloger med rsync .

Lämna gärna en kommentar om du har några frågor.

rsync terminal