Grunnleggende lokal bruk av rsync
Kapittel 4
Selv om Rsync oftest brukes til å kopiere filer over nettverk, er det også et svært effektivt verktøy for lokal filhåndtering. “Lokalt” betyr her alt som er tilgjengelig på systemet som en montert sti – enten det er en intern disk, ekstern harddisk, nettverksdisk eller en annen montert ressurs (f.eks. NFS). Dette kan påvirke ytelse, ettersom Rsync håndterer lokale og eksterne jobber forskjellig.
Basis kommando
rsync file destination
Eksempel
rsync myfile.txt ~/rsync-work
Dette kopierer filen myfile.txt fra nåværende katalog til katalogen ~/rsync-work.
Eksempel på typisk output
1,073,741,824 100% 163.76MB/s 0:00:06 (xfr#1, to-chk=0/1)
Forklaring av linjen
- 1,073,741,824 – antall bytes sendt (her tilsvarer det 1 GB).
- 100% – overføringen er fullført.
- 163.76MB/s – gjennomsnittlig overføringshastighet.
- 0:00:06 – hvor lang tid overføringen tok.
- (xfr#1, to-chk=0/1) – én fil overført (xfr#1), ingen filer gjenstår å sjekke (to-chk=0/1).
Mer informasjon med vanlige flagg
rsync -avhP file destination
Eksempel
rsync -avhP myfile.txt ~/rsync-work
Output
sending incremental file list
myfile.txt
1.07G 100% 436.47MB/s 0:00:02 (xfr#1, to-chk=0/1)
sent 1.07G bytes received 35 bytes 429.60M bytes/sec
total size is 1.07G speedup is 1.00
Forklaring linje for linje
- sending incremental file list – viser at Rsync kun sender filer som er endret siden forrige kjøring.
- myfile.txt – navnet på filen som overføres.
- 1.07G 100% ... – statuslinje som viser størrelse, prosent, hastighet og tid.
- sent 1.07G bytes received 35 bytes – hvor mye data som ble sendt og mottatt.
- 429.60M bytes/sec – reell overføringshastighet.
- total size is 1.07G – samlet størrelse på alle filer som ble vurdert.
- speedup is 1.00 – forhold mellom faktisk sendt data og total datamengde (1.00 betyr at alt ble sendt).
Kopiere mapper
Når du jobber med mapper er det viktig å huske at Rsync ikke kopierer undermapper som standard. For å inkludere alle filer og undermapper må du bruke recursive mode (-r), eller arkivmodus (-a), som også inkluderer -r.
Eksempler
rsync -avhP kilde destinasjon
rsync -avhP ~/copyfolder ~/rsync-work
rsync -avhP copyfolder rsync-work
Om slash (/) i stier
Rsync tolker en avsluttende skråstrek (/) på kildestien som at du kun ønsker innholdet i mappen, ikke selve mappen.
Eksempel
rsync -avhP copyfolder/ rsync-work/
→ Kopierer alt innholdet i copyfolder inn i rsync-work, men ikke selve mappen copyfolder.
rsync -avhP copyfolder rsync-work/
→ Kopierer copyfolder som en egen mappe inn i rsync-work.
En skråstrek på slutten av destinasjonen har ingen betydning for utfallet.
Håndtering av slettede filer
Som standard lar Rsync filer som er slettet i kildemappen bli liggende på destinasjonen. Dette kan være ønskelig ved sikkerhetskopiering, slik at du ikke mister data.
Hvis du derimot ønsker at Rsync skal slette filer på destinasjonen som ikke lenger finnes i kilden, bruk flagget
--delete
Eksempel
rsync -avhP --delete ~/source ~/backup
Dette vil sørge for at destinasjonen blir en eksakt speiling av kilden. Filer som er fjernet i kilden, slettes også i destinasjonen.
Høydepunkter
Kopiere en fil
rsync myfile.txt ~/rsync-work
Kopiere med status og arkivering
rsync -avhP myfile.txt ~/rsync-work
Kopiere mappe med innhold
rsync -avhP copyfolder/ rsync-work/
Kopiere mappe som egen mappe
rsync -avhP copyfolder rsync-work/
Slette filer på destinasjon som er fjernet på kilde
rsync -avhP --delete source/ destination/
Sjekke filstørrelse og fremdrift
rsync -hP source/ destination/
