Rsync funksjoner og grunnprinsipper
Kapittel 1
Rsync er et kraftig verktøy for å kopiere og synkronisere filer mellom systemer. Det brukes ofte til sikkerhetskopiering, overføring av store datamengder, og speiling av kataloger lokalt eller over nettverk. Rsync er optimalisert for nettverkseffektivitet og filintegritet, og kan fortsette delvis overførte filer etter nettverksbrudd.
Hovedfunksjoner
- Hopper over uendret innhold.
- Kan kopiere mellom lokale kataloger, mellom maskiner eller mellom servere.
- Komprimerer data under sending for å redusere båndbreddebruk.
- Sammenligner filer og overfører kun endringer (delta transfer) ved fjernoverføring.
Klient–server forhold
Rsync fungerer alltid i et klient–server-forhold, uavhengig av om overføringen er lokal eller fjern.
Klient: Den som starter overføringen, enten den sender eller mottar data.
Server: Den maskinen klienten kobler til.
Etter oppkobling blir den ene parten sender, og den andre mottaker (receiver).
Rsync er enveis, noe som betyr at data kun går fra sender til mottaker. Det sendes riktignok kontrollinformasjon tilbake, men ikke selve innholdet motsatt vei.
Overføringsprosessen
-
Sender oppretter en liste over filer som skal overføres.
-
Mottaker bruker en generator som sammenligner denne listen med sine lokale filer.
-
Dersom en fil har samme størrelse og endringstid (mtime), og checksum ikke er aktivert, hopper Rsync over filen.
-
Dersom filen mangler eller er endret, overføres den.
-
Under overføring opprettes en midlertidig fil på mottakeren, med et tilfeldig suffix. Eksempel
photo.jpg.ASk021 -
Etter at overføringen er fullført, erstatter Rsync den opprinnelige filen med den midlertidige, og oppdaterer eier, rettigheter og tidsstempler.
Delta transfer
Rsyncs mest effektive funksjon er delta transfer, som kun brukes ved remote overføringer. Når en fil på sender og mottaker har forskjeller, beregner Rsync checksums og sender kun de delene (blokker) av filen som faktisk er endret.
Dette gjør at selv store filer med små endringer kan overføres svært raskt.
Ved lokale overføringer sendes alltid hele filer på nytt, selv om kun små deler har endret seg.
Ytelse og ressursbruk
Rsync bruker mer CPU og disk I/O enn vanlige kopieringsverktøy (som cp), fordi det
- sammenligner filer
- komprimerer data under sending
- oppretter midlertidige filer for å sikre integritet
Dette betyr at Rsync er optimalisert for hastighet og pålitelighet over nettverk, ikke nødvendigvis for minimal ressursbruk.
Midleritidige filer
Midlertidige filer lar Rsync kjøre trygt selv i ustabile miljøer. Dersom en overføring blir avbrutt (for eksempel ved nettverksbrudd), kan Rsync gjenoppta overføringen fra der den slapp når forbindelsen gjenopprettes.
Dersom filen på sender har blitt endret i mellomtiden, vil checksum ikke lenger stemme, og Rsync vil automatisk starte overføringen på nytt for å sikre dataintegritet.
Midlertidige filer krever litt ekstra diskplass, men gjør Rsync langt mer robust.
Enveis overføring
Rsync er i utgangspunktet enveis. Data synkroniseres fra kilde (sender) til destinasjon (mottaker). For toveis synkronisering kreves flere Rsync-jobber eller andre verktøy, men Rsync er best egnet til rene enveis kopieringer og speilinger.
Terminologi
Fra nå av i denne veiledningen vil vi bruke begrepene
- Kilde (source) = Sender
- Destinasjon (destination) = Mottaker
Høydepunkter
- Rsync overfører kun endrede data (delta transfer).
- Klient = den som starter overføringen.
- Server = systemet Rsync kobler til.
- Overføring skjer én vei, fra kilde til destinasjon.
- Midlertidige filer sikrer mot datatap og gjør gjenopptakelse mulig.
- Rsync bruker mer ressurser enn vanlig kopiering, men gir bedre integritet.
