Hvordan Bruke rsync Med Eksempler

Rsync Er et populært verktøy for filsynkronisering, både lokalt og eksternt. I motsetning til andre synkroniseringsverktøy bruker rsync en interessant algoritme som minimerer båndbreddeforbruket. Den flytter bare den delen av filen (e) som har endret seg.

Det er et kraftig verktøy som kan tjene i mange situasjoner. I denne artikkelen vil jeg vise hvordan du kommer i gang med rsync med en demonstrasjon. Demonstrasjonen vil bli utført På Ubuntu 18.04.

Rsync

rsync står for begrepet ekstern synkronisering. Til tross for navnet, kan den håndtere filsynkronisering eksternt og lokalt. Begrepet rsync brukes også til å referere til rsync-protokollen som rsync bruker til synkronisering. I denne artikkelen vil rsync alltid betegne verktøyet, ikke protokollen.På grunn av sin rene popularitet er rsync tilgjengelig på nesten Alle Linux-og UNIX-lignende systemer. Det er en god sjanse for at den kommer forhåndsinstallert. Hvis ikke, gjør litt forskning på hvordan du installerer rsync i systemet.

Her er en shortlist av funksjoner rsync tilbud.Lett backup konfigurasjon

  • kan arbeide OVER SSH
  • kan kjøre som daemon/server
  • fil tillatelse oppbevaring
  • rsync bruk

    før du hopper inn rsync, trenger vi noen dummy filer å jobbe med. La oss lage en dummy katalog først.

    $ mkdir-v primær

    når den er opprettet, er det på tide å lage en håndfull dummy-filer. For å lage en fil, bruker jeg berøringskommandoen. Finn ut mer om berøringskommandoen.

    $ trykk på dummy{1..20}

    Voila! Vi er nå klar til å bruke rsync til å utføre handlinger ved hjelp av disse dummy filer.

    Rsync Kommandostruktur

    Rsync bruker følgende kommandostruktur.

    $ rsync <alternativ><src><destinasjon>

    synkroniser lokale kataloger

    nå er det på tide å bruke rsync for synkronisering av filer på tvers av flere destinasjoner. I dette eksemplet synkroniserer vi innholdet i dir_primary til dir_target.

    $ mkdir-v target

    Fortell rsync å synkronisere innholdet i begge katalogene.

    $ rsync-v-r primær/ mål

    her har vi brukt to forskjellige argumenter.

    -v: Forteller rsync å kjøre inn detaljert modus
    -R: Rekursiv, kreves for katalogsynkronisering.

    i dette neste eksemplet bruker vi et annet flagg.

    $ rsync-v-a primær/mål

    -a: et kombinasjonsflagg som står for «arkiv».

    Ved hjelp av dette flagget, vil rsync synkronisere innholdet rekursivt og samtidig bevare noen symbolske, spesielle / enhetsfiler, modifikasjonstider, filtillatelser, gruppe, eier, etc. Det er mer vanlig enn «-r» flagget. For arkivering er dette en mer anbefalt metode.

    la du merke til at i alle kommandoene vi har kjørt så langt, når det gjelder kilde, beholder vi alltid » / » etter navnet på katalogen? Dette er å fortelle rsync at kilden er alt innholdet i kildekatalogen. Hvis » / » på slutten av kildekatalogen ikke brukes, vil rsync bare lage en kopi av kildekatalogen i stedet for innholdet.

    la oss sjekke det ut med et eksempel.

    $ rsync-v-a primære mål

    Kontroller resultatet.

    $ tree target /

    Mesteparten av tiden er dette Ikke noe vi trenger. Men avhengig av situasjonen, kan det komme til nytte.

    rsync test run

    Før du kjører en rsync kommando, er det alltid viktig å kontrollere at kommandoen vil utføre handlingen som forventet. Hvis du vil teste rsync-handlingen for en bestemt kommando, bruk»- n «eller»-dry-run » – flagget.

    $ rsync-avn primær/ mål

    $ rsync-avn primær mål

    her viser utgangen hva rsync ville utføre hvis kommandoen faktisk ble kjørt. Når du tester, ikke glem å bruke» – v » flagget for å få en nøyaktig representasjon av hva som skjer.

    Rsync over en ekstern tilkobling

    Dette er en annen interessant funksjon rsync støtter. Hvis din backup plassering er et sted ekstern, kan du enkelt konfigurere rsync å utføre backup på ekstern plassering VIA SSH. Begge maskinene må imidlertid ha rsync installert. Videre må begge systemene også ha SSH-nøkler satt.

    Klar? La oss komme i gang. Først er det arkivsynkroniseringen.

    $ rsync-a <local_dir><brukernavn><remote_host><
    destination_dir>

    her kalles denne operasjonen en «push» fordi det skyver en katalog fra det lokale systemet til et eksternt system. Det motsatte er kjent som»pull».

    $ rsync-a <brukernavn><remote_host><source_dir><local_dir>

    som destinasjon.

    Nyttige rsync alternativer

    Rsync støtter massevis av alternativer. Alle tjener sin egen hensikt. Men for det meste brukes bare en håndfull av dem mesteparten av tiden. I denne delen, la oss se på noen nyttige rsync-alternativer.

    Mesteparten av tiden komprimeres ikke filen(e) du skal synkronisere. Ved hjelp av komprimering kan du spare både tid og båndbredde på bekostning av litt ekstra prosessorkraft. Rsync tilbyr komprimering som standard. For å utføre komprimert synkronisering, bruk» – z » – flagget.

    $ rsync-avz <kilde><destinasjon>

    dette interessante flagget kombinerer funksjonen til både «-progress» og «-partial» flagget. Den første er å vise en fremdriftslinje for overføringen, og den andre er å aktivere gjenoppta avbrutt overføring. Begge disse funksjonene er kombinert i» – P » flagget.

    $ rsync -avzP <source><destination>

    Now, let’s check out how rsync handles file syncing intelligently. Run the previous command again.

    $ rsync-avzp <kilde><destinasjon>

    her lastet rsync ikke opp alle filene på nytt. I stedet hoppet det over de som ikke endret seg i det hele tatt. I dette eksemplet hoppet det over alle filene som alle er til stede i målkatalogen.

    hva om du slettet en fil fra kildekatalogen? Som standard vil rsync ikke slette noe fra målkatalogen. For å tvinge rsync slette filer, bruk» – slett » flagget. Bruk imidlertid tørrkjøringen til å teste om kommandoen fungerer som du vil.

    $ rsync-avn –delete<kilde><destinasjon>

    som standard vil rsync synkronisere hver enkelt fil/katalog fra kilden til målkatalogen. I enkelte situasjoner vil du kanskje inkludere/ekskludere bestemte filer fra synkronisering. Rsync tilbyr praktiske alternativer som «- ekskluder «og» – inkluder » for å ekskludere / inkludere bestemte filer. Pass filen mønster som verdi for disse argumentene.

    $ rsync-avn –ekskluder=<mønster>–include=<mønster >

    du kan også definere den største filstørrelsen som rsync skal synkronisere. For å gjøre det, bruk»-max-size » flagget etterfulgt av filstørrelsen.

    $ rsync-avn –max-size=’10k’ <kilde><mål>

    rsync har en annen interessant funksjon i ermet. Ikke lenger trenger kildefilen etter synkronisering? Rsync kan gjøre det, ikke noe problem. Sørg imidlertid for at du ikke kjører rsync med «-slett» – flagget. Ellers vil rsync slette synkroniserte filer fra målet!

    $ rsync-av –fjern kildefiler<kilde ><destinasjon >

    siste tanker

    dette er bare noen vanlige og enkle scenario av rsync bruk. Det tilbyr mye mer enn det. Det er mulig å automatisere rsync operasjoner ved hjelp av enten rsync daemon eller annen skripting. Forhåpentligvis var denne veiledningen nyttig for å komme i gang med rsync.

    interessert i mer rsync? Vel, du kan bruke rsync som en filkopier. Det er mer effektivt og intelligent enn cp. Mer dyptgående funksjoner og bruk kan bli funnet i rsync man side.

    $ man rsync

    Nyt!



    Legg igjen en kommentar

    Din e-postadresse vil ikke bli publisert.