Het migreren van bestanden tussen servers kan een uitdaging lijken, maar met de juiste tools wordt het een eenvoudig en betrouwbaar proces. Een van de krachtigste en meest populaire tools hiervoor is rsync. Met rsync kun je snel en veilig bestanden kopiëren tussen servers, terwijl je profiteert van functies zoals incrementele synchronisatie en compressie.
In deze handleiding leer je stap voor stap hoe je rsync gebruikt om bestanden van de ene server naar de andere te migreren. We behandelen alles, van de basisopzet tot geavanceerde opties zoals het uitsluiten van specifieke bestanden en het gebruik van SSH voor een beveiligde overdracht. Of je nu een sysadmin bent die een server verhuist of een ontwikkelaar die een testomgeving wil opzetten, deze tutorial helpt je om het proces probleemloos uit te voeren.
Goed om te weten: rsync is op de meeste servers standaard geïnstalleerd. Als dit niet het geval is, kun je rsync eenvoudig installeren met het volgende commando:
Op Debian/Ubuntu-gebaseerde systemen:
sudo apt install rsync
Op Red Hat/CentOS-gebaseerde systemen:
sudo yum install rsync
Op Fedora:
sudo dnf install rsync
Laten we beginnen met een overzicht van wat rsync is en hoe je het kunt gebruiken!
Wat is rsync?
rsync (remote synchronization) is een krachtige command-line tool die wordt gebruikt voor het synchroniseren en kopiëren van bestanden en mappen tussen verschillende locaties. Dit kan lokaal op dezelfde machine, tussen twee servers, of zelfs tussen een lokale computer en een externe server.
Wat rsync uniek maakt, is dat het alleen wijzigingen synchroniseert, waardoor de overdracht snel en efficiënt verloopt. Het gebruikt een delta-transfer-algoritme, wat betekent dat alleen de delen van bestanden die zijn veranderd, worden overgedragen in plaats van de volledige bestanden.
Belangrijkste kenmerken van rsync:
- Efficiënt: Kopieert alleen gewijzigde bestanden of delen van bestanden.
- Veilig: Ondersteunt overdracht via SSH voor encryptie.
- Flexibel: Kan bestanden filteren (in- of uitsluiten).
- Betrouwbaar: Ondersteunt herstarten van onderbroken overdrachten.
- Breed inzetbaar: Werkt op de meeste Linux/Unix-systemen en is beschikbaar voor Windows via tools zoals Cygwin of WSL.
Met rsync kun je migraties automatiseren, back-ups maken en ervoor zorgen dat je bestanden up-to-date blijven tussen verschillende locaties. Het is een onmisbare tool voor iedereen die met servers werkt.
Laten we kijken naar de verschillende opdrachten, inclusief de belangrijkste opties en voorbeelden voor verschillende scenario’s:
1. Basis rsync-opdracht
rsync [opties] bron bestemming
bron: Het pad naar de bestanden of mappen die je wilt kopiëren.
bestemming: Waar de bestanden naartoe moeten worden gekopieerd (lokaal of op een externe server).
Voorbeeld:
rsync -av /bronmap/ /doelmap/
Veelgebruikte Opties
- -a: Archiveer modus (behoud permissies, symbolische links, timestamps, enz.).
- -v: Verhoogde uitvoer (zie wat er gebeurt).
- -z: Compressie tijdens overdracht, bespaart bandbreedte.
- -r: Recursief (kopieert mappen en hun inhoud).
- -P: Toont voortgang en herstart onderbroken overdrachten.
- –delete: Verwijdert bestanden in de bestemming die niet meer in de bron staan.
- –exclude [PATROON]: Sluit specifieke bestanden/mappen uit.
- –include [PATROON]: Inclusief specifieke bestanden/mappen (gecombineerd met filters).
Gebruiksscenario’s en Voorbeelden
1. Kopieer lokaal bestanden of mappen
Kopieert een map met behoud van alle eigenschappen:
rsync -av /bronmap/ /doelmap/
2. Synchroniseer bestanden tussen lokale en externe servers
Met SSH voor veilige overdracht:
rsync -avz -e ssh /bronmap/ gebruiker@server:/doelmap/
3. Synchroniseer externe server naar lokaal
rsync -avz -e ssh gebruiker@server:/bronmap/ /lokale/doelmap/
4. Toon wat er zou gebeuren zonder daadwerkelijk te kopiëren
Dry-run modus (perfect voor testdoeleinden):
rsync -avz --dry-run /bronmap/ /doelmap/
5. Synchroniseer met voortgang en herstartmogelijkheid
rsync -avzP /bronmap/ /doelmap/
6. Bestanden uitsluiten
Bijvoorbeeld om .tmp
-bestanden over te slaan:
rsync -avz --exclude='*.tmp' /bronmap/ /doelmap/
7. Synchroniseer met verwijdering van oude bestanden
Zorg dat de bestemming een exacte kopie wordt:
rsync -avz --delete /bronmap/ /doelmap/
Veelgebruikte Patronen
- Alleen bepaalde bestanden synchroniseren:
rsync -av --include='*.jpg' --exclude='*' /bronmap/ /doelmap/
2. Alleen bepaalde submappen synchroniseren:
rsync -av --include='/belangrijke_map/**' --exclude='*' /bronmap/ /doelmap/
Tips en Best Practices
- Test eerst met
--dry-run
: Dit voorkomt dat je per ongeluk data verwijdert of overschrijft. - Gebruik SSH-sleutels: Maak het proces veiliger en automatiseer zonder wachtwoorden.
- Plan met cron: Voor regelmatige synchronisaties kun je rsync-taken inplannen via cronjobs.
Bijvoorbeeld, synchroniseer elke nacht om 2:00 uur:
0 2 * * * rsync -avz --delete /bronmap/ gebruiker@server:/doelmap/
Wat Vond Je van Deze Handleiding?
Ik hoop dat deze handleiding je heeft geholpen om rsync beter te begrijpen en effectief te gebruiken voor je bestandsoverdrachten en synchronisaties. Laat me weten wat je ervan vond! Heb je nog vragen of suggesties? Deel ze in de reacties of neem contact met me op.
Binnenkort maak ik ook een video tutorial waarin ik deze stappen visueel uitleg. Wil je deze video als eerste bekijken zodra hij uitkomt? Steun me dan via mijn PetjeAf-pagina met een groot petje! Als dank krijg je exclusieve toegang tot deze video én nog veel meer voordelen, zoals uitgebreide hulp bij Linux, WordPress en serverbeheer.
Bedankt voor het lezen, en succes met rsync!