Tips en Trucs 2019

Starten met Rsync

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.

Installatie

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.

Voorbeeld Rsync opdrachten

Rsync gebruikt de volgende syntaxis:

rsync opties bron doel

Mappen op een lokaal systeem synchroniseren

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 map op een andere computer naar een lokale map synchroniseren

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.

En omgekeerd

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

Bestanden insluiten en uitsluiten

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.

Handleiding

De volledige Rsync handleiding kan je raadplegen met de opdracht:

dany@main:~> man rsync
Rsync Manual