Android

Sådan overføres filer med rsync over ssh

Ubuntu SCP basis - Syspro.dk Support

Ubuntu SCP basis - Syspro.dk Support

Indholdsfortegnelse:

Anonim

Når det kommer til overførsel af filer mellem systemer på netværket, har Linux- og Unix-brugere en masse værktøjer til deres rådighed.

De mest populære protokoller til dataoverførsel er SSH og FTP. Mens FTP er meget populær, foretrækker du altid at bruge SSH, da det er den mest sikre måde at overføre dine filer på.

Der er specialiserede værktøjer til filoverførsel via SSH såsom scp og sftp men ingen af ​​dem har alle de funktioner, som rsync leverer. rsync kan bruges til spejling af data, inkrementel sikkerhedskopi, kopiering af filer mellem systemer og så videre.

I denne tutorial vil vi forklare, hvordan man kopierer filer med rsync over SSH.

Krav

  • rsync værktøjet skal installeres på både destinations- og kildesystemerne. Hvis det ikke er installeret, kan du installere det ved hjælp af din distributions pakkehåndtering:

    Ubuntu og Debian:

    sudo apt install rsync

    CentOS og Fedora:

    sudo yum install rsync

    SSH-adgang til fjerncomputeren.

    Brugeren, der kører rsync kommandoen og den eksterne SSH-bruger, skal have passende tilladelser til at læse og skrive filer.

Brug af rsync til at overføre filer via SSH

Med rsync kan du overføre filer og mapper over SSH fra og til eksterne servere.

Den generelle syntaks til overførsel af filer med rsync er som følger:

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

Hvor SRC er kildekataloget, er DEST destinationskatalogen USER er det eksterne SSH-brugernavn og HOST er den eksterne SSH-vært eller IP-adresse.

De nyere versioner af rsync er konfigureret til at bruge SSH som standard remote shell, så du kan udelade -e ssh indstillingen.

For eksempel at overføre en enkelt fil /opt/file.zip fra det lokale system til /var/www/ biblioteket på fjernsystemet med IP 12.12.12.12 , ville du køre:

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

Valgmuligheden -a står for arkivtilstand, som synkroniserer mapper rekursivt, overfører specielle og blokerer enheder, bevarer symboliske links, ændringstider, gruppe, ejerskab og tilladelser.

Hvis filen findes på fjernserveren, overskrives den. Hvis du vil gemme filen under et andet navn, skal du angive det nye navn:

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

Hvis du vil overføre data fra en fjernbetjening til en lokal maskine, skal du bruge den fjerne placering som kilde og den lokale placering som destination:

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

Overførsel af mapper med rsync over SSH er det samme som at overføre filer.

Det er vigtigt at vide, at rsync giver forskellig behandling til kildekatalogerne med en bageste skråstreg / . Når kildekataloget har en bagerste skråstreg, kopierer rsync kun indholdet af kildekataloget til destinationskataloget. Når bageste skråstreg er udeladt, kopieres kildekataloget inde i destinationsmappen.

For eksempel at overføre det lokale /opt/website/images/ directory til /var/www/images/ biblioteket på en fjernmaskine, du skriver:

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

Brug indstillingen - --delete , hvis du vil synkronisere det lokale og eksterne bibliotek. Vær forsigtig, når du bruger denne indstilling, da den vil slette filer i destinationsmappen, hvis de ikke findes i kildemappen.

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

Hvis SSH på den eksterne vært lytter til en anden port end standard 22 , skal du angive porten vha-indstillingen -e . For eksempel, hvis SSH lytter på port 3322 , ville du bruge:

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

Ved overførsel af store mængder data anbefales det at køre rsync kommandoen i en skærmsession eller bruge indstillingen -P , der fortæller rsync at vise en statuslinje under overførslen og beholde de delvist overførte filer:

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

Konklusion

Vi har vist dig, hvordan du bruger rsync over SSH til at kopiere og synkronisere filer og mapper.

Du vil måske også læse, hvordan du ekskluderer filer eller mapper med rsync .

Du er velkommen til at give en kommentar, hvis du har spørgsmål.

rsync terminal