Grunnleggende om remote rsync
Kapittel 5
Rsync brukes ofte til å kopiere filer mellom maskiner over nettverk. Dette kan være både push-operasjoner (sende filer til en ekstern vert) og pull-operasjoner (hente filer fra en ekstern vert). Verktøyet håndterer overføringen effektivt ved å sammenligne filer på begge sider og kun sende det som faktisk er endret.
Push og pull
Push: Du kopierer filer til en ekstern server. Eksempel:
rsync -avhP file.txt user@server:/home/user/
Pull: Du kopierer filer fra en ekstern server. Eksempel:
rsync -avhP user@server:/home/user/file.txt ~/Downloads/
Merk at både kilde og destinasjon kan ikke være eksterne samtidig. Én av partene må være lokal.
Delta transfer og båndbredde
Som standard bruker Rsync remote delta transfer, som betyr at bare endrede deler av filer sendes over nettverket. Dette reduserer datamengden betydelig sammenlignet med å kopiere hele filer.
Hvis du ønsker å deaktivere denne funksjonen og alltid sende hele filer, kan du bruke:
--whole-file eller -w
Eksempel:
rsync -avhWP ~/backup/ user@server:/home/user/backup/
Dette kan være nyttig på raske nettverk (f.eks. lokalnett) hvor CPU-belastning er viktigere enn båndbredde.
Kompresjon under overføring
Rsync kan komprimere data under overføring for å spare båndbredde. Dette aktiveres med flagget:
--compress eller -z
Eksempel:
rsync -avhzP ~/Documents/ user@server:/home/user/Documents/
Data blir da pakket før sending og pakket ut igjen på mottakeren. Dette gir lavere nettverkstrafikk, men øker CPU-belastningen på både kilde og destinasjon. På raske CPU-er og trege nettverk er dette ofte en god avveining.
Anbefalte kombinasjoner
Rask overføring på lokalt nettverk:
rsync -avhWP source/ user@server:/path/
Effektiv overføring over tregt nettverk:
rsync -avhzP source/ user@server:/path/
Test uten å overføre filer:
rsync -avhznP source/ user@server:/path/
Høydepunkter
Push filer til ekstern server
rsync -avhP file.txt user@server:/path/
Pull filer fra ekstern server
rsync -avhP user@server:/path/file.txt ~/destination/
Deaktiver delta transfer (send hele filer)
--whole-file eller -W
Aktiver kompresjon
--compress eller -z
Kombinert bruk (praktisk eksempel)
rsync -avhzP ~/backup/ user@server:/home/user/backup/
