Rsync
Original skaber(e) | Andrew Tridgell Paul Mackerras Wayne Davison |
---|---|
Stabil version | 3.3.0 (6. april 2024) |
Operativsystem | UNIX |
Type | Sikkerhedskopiering |
Licens | GPL |
Hjemmeside | Hjemmeside |
Rsync er både en netværksprotokol til synkronisering af filer og navnet på det program, der implementerer den. Det antages at netværket er så langsomt, at det kan betale sig tidsmæssigt, at bruge meget beregningstid på at undgå overførsel af overflødige data.
Algoritmen
[redigér | rediger kildetekst]Rsync forudsætter en pålidelig forbindelse som TCP, men er ikke begrænset til denne protokol. Filerne, der skal synkroniseres deles op i blokke. For hver blok beregnes en simpel kontrolsum, som udveksles. Hvis kontrolsummen ikke er den samme for filblokken på klientmaskinen som den på serveren, er blokkene helt sikkert forskellige, og den undersøgte blok sendes over nettet. Hvis kontrolsummen derimod er ens, er filblokkene måske ens. For at afgøre det beregnes en MD4-kontrolsum af blokkene. Hvis de to MD4-kontrolsummer er ens antages det, at filblokkene også er det, og der bliver ikke sendt mere over linjen. For filer, der næsten er ens betyder det, at der ikke sendes meget andet end kontrolsummer over netværket.
Programmet
[redigér | rediger kildetekst]I praktisk brug udnævnes en maskine som server, og rsync startes i baggrunden. En konfigurationsfil fortæller, hvilke filer, der kan synkroniseres. På klientmaskinen startes rsync som et almindeligt program med parametre, der fortæller. hvilke filer, der skal opdateres. For at undgå at følsomme data opsnappes kan man sende kommunikationen over en SSL-forbindelse. Klienten kan undersøge størrelse og tidsstempel på filerne, så overførsel af filer, der allerede er ens helt kan undgås.
Programmet, der er udviklet til UNIX, kan arbejde med hele mapper af filer og sørge for, at det kun er de filer, der er ændringer i, der overføres. Specielle filer og links kan også håndteres. Filnavne angives som i programmerne rcp og scp med brugernavn, maskinnavn og enten en absolut sti eller en sti relativ til brugerens egen mappe.