Rsync wordt gebruikt om bestanden tussen computers te transporteren. Daarbij worden enkel de verschillen gekopieerd. Bij bestanden waarin slechts enkele stukken aangepast werden, worden enkel de aangepaste stukken gekopieerd. De incrementele kopieermethode is zeer efficiënt en zeer snel. Rsync vraagt weinig rekenkracht, is snel, veilig en verbruikt een minimum aan netwerkbandbreedte.
Ik heb op elk Linux systeem rsync standaard geïnstalleerd. En als ik me niet vergis, wordt rsync bij elke standaard systeeminstallatie standaard geïnstalleerd. Maar voor de volledigheid installeer je rsync in openSUSE Leap 15.1 met de opdracht:
dany@main:~> sudo zypper install rsync
[sudo] wachtwoord voor root:
Gegevens van opslagruimte laden...
Lezen van geïnstalleerde pakketten...
'rsync' is al geïnstalleerd.
Geen updatekandidaat voor bijwerken van 'rsync-3.1.3-lp151.4.3.1.x86_64'. De hoogst beschikbare versie is al geïnstalleerd.
Pakketafhankelijkheden oplossen...
Geen activiteit.
Rsync gebruikt de volgende syntaxis:
rsync opties bron doel
Om een map naar een andere map op hetzelfde systeem te synchroniseren, gebruik je de volgende opdracht:
dany@main:~> rsync -arv Bureaublad BureaubladBackUp
sending incremental file list
created directory BureaubladBackUp
Bureaublad/
Bureaublad/.directory
sent 200 bytes received 78 bytes 556.00 bytes/sec
total size is 50 speedup is 0.18
De a (archive) optie zorgt ervoor dat alle rechten, koppelingen, datums, enz. behouden blijven. De r (recursive) optie zorgt dat alle submappen en hun inhoud mee gesynchroniseerd worden. En de v (verbose) optie zorgt dat alle gekopieerde bestanden en mappen in de uitvoer worden weergegeven.
Ook handig om reservekopieën van mappen te maken op USB sticks of externe harde schijven.
Een klassieke Rsync toepassing, is het maken van een reservekopie van een map op een ander systeem:
dany@main:~> rsync -avz -e ssh dany@pindabook:/home/dany/Bureaublad/ BureaubladBackUp/
receiving incremental file list
./
.directory
Tekstbestand
Nieuwe map/
sent 73 bytes received 274 bytes 694.00 bytes/sec
total size is 52 speedup is 0.15
De z optie zorgt voor compressie tijdens het transport over het netwerk. De -e ssh optie zorgt dat transport over het netwerk versleuteld is, waardoor het niet kan onderschept worden om er gegevens uit te halen. Daarvoor moet wel SSH op de andere computer actief zijn.
Vanzelfsprekend werkt dit ook in de andere richting, bijvoorbeeld om een reservekopie terug te zetten. Of een back-up van een lokale map naar een andere computer te sturen.
dany@main:~> rsync -avz BureaubladBackUp/ -e ssh dany@pindabook:/home/dany/Bureaublad/
sending incremental file list
./
Bureaublad/
Bureaublad/.directory
Bureaublad/Tekstbestand
Bureaublad/Nieuwe map/
sent 311 bytes received 69 bytes 760.00 bytes/sec
total size is 52 speedup is 0.14
Je kunt zowel bestanden selecteren (include) of uitsluiten (exclude) bij het synchroniseren.
dany@main:~> rsync -arv --include="*.txt" --exclude="*" Bureaublad/ BureaubladBackUp/
sending incremental file list
./
Tekstbestand.txt
sent 135 bytes received 38 bytes 346.00 bytes/sec
total size is 2 speedup is 0.01
In dit voorbeeld kopiëren we enkel de .txt bestanden en sluiten we alle andere bestanden uit.
De volledige Rsync handleiding kan je raadplegen met de opdracht:
dany@main:~> man rsync