De Ultieme Gids voor rsync op Ubuntu: Bestandsynchronisatie & Back-up

目次

1. Inleiding

Wat is rsync?

rsync is een command-line tool voor snelle en efficiënte synchronisatie en kopieer van bestanden en mappen. Breed gebruikt op Linux en Unix-achtige systemen, maakt het gebruik van een differentieel transfermechanisme, waardoor efficiënte synchronisatie van zelfs grote volumes bestanden mogelijk is zonder onnodige datatransfer. Het is vaak standaard inbegrepen in Linux-distributies zoals Ubuntu, waardoor het een essentieel hulpmiddel is voor serverbeheerders en ontwikkelaars.

Voordelen van het gebruik van rsync op Ubuntu

Op Ubuntu is rsync zeer effectief voor routineback-ups van bestanden en synchronisatie van meerdere mappen. Zonder afhankelijk te zijn van grafische interfaces kun je hoge-snelheids bestandstransfers bereiken, zowel lokaal als op afstand, door eenvoudig een paar commando’s in te voeren in de terminal.

Het is bijzonder nuttig in de volgende scenario’s:

  • Regelmatige back-ups naar externe HDD’s of NAS
  • Synchronisatie van projectmappen tijdens ontwikkeling
  • Implementatietaken naar externe servers
  • Verbetering van beschikbaarheid door bestandsspiegeling

Verschillen met andere commando’s

Vergeleken met het cp-commando transferreert rsync alleen de verschillen tussen de bron en bestemming, wat de verwerkingstijd aanzienlijk vermindert. Vergeleken met scp biedt het voordelen zoals de mogelijkheid om te hervatten na fouten en flexibele bandbreedtecontrole-instellingen. Bovendien is een groot voordeel de mogelijkheid om bestanden over te dragen terwijl hun attributen behouden blijven (eigenaar, rechten, tijdstempels, enz.).

Doel van dit artikel

Dit artikel zal een gedetailleerde uitleg geven over hoe je rsync installeert en effectief gebruikt in een Ubuntu-omgeving, inclusief praktische commando-voorbeelden en gebruiksscenario’s. We zullen GUI-tools en probleemoplossings-tips behandelen om beginners te helpen gemakkelijk te beginnen, en de praktische toepassing van rsync stap voor stap te leren.

2. Hoe rsync te installeren (Ubuntu)

Controleren of rsync vooraf geïnstalleerd is op Ubuntu

In de meeste Ubuntu-omgevingen is rsync standaard geïnstalleerd. Laten we eerst controleren of rsync al beschikbaar is met het volgende commando.

rsync --version

Als dit commando draait en versie-informatie weergeeft, is het al geïnstalleerd en klaar voor gebruik.

Stappen als rsync niet geïnstalleerd is

Als je berichten ziet zoals “command not found” of “rsync: command not found”, volg dan deze stappen om het te installeren.

  1. Update de pakketinformatie:
    sudo apt update
    
  1. Installeer rsync:
    sudo apt install rsync
    
  1. Nadat de installatie voltooid is, controleer de versie opnieuw:
    rsync --version
    

Als de versie-informatie zonder problemen wordt weergegeven, was de installatie succesvol.

Is installatie via snap of andere methoden noodzakelijk?

Voor Ubuntu is het installeren van rsync via APT de meest aanbevolen methode. Hoewel er een snap-pakket bestaat, is de APT-versie voldoende voor typisch gebruik en biedt het betere stabiliteit en compatibiliteit. Tenzij je een specifieke reden hebt, kies dan voor installatie met APT.

Opmerkingen tijdens installatie

  • Oudere Ubuntu-versies kunnen repository-updates vereisen.
  • Vergeet niet sudo te gebruiken omdat root-rechten nodig zijn.
  • In omgevingen met instabiele netwerkverbindingen kunnen installatiefouten optreden. Het wordt aanbevolen om de installatie uit te voeren op een stabiel netwerk.

3. Basisgebruik van rsync

Basis rsync-syntax

De rsync-commando-syntax is eenvoudig maar zeer flexibel. De basisvorm is als volgt:

rsync [options] source destination

Bijvoorbeeld, om de inhoud van de /home/user/documents/-map te kopiëren naar /mnt/backup/, zou je schrijven:

rsync -av /home/user/documents/ /mnt/backup/

In dit commando worden de volgende opties gebruikt:

  • -a : Archiefmodus (behoudt mapstructuur, rechten, eigenaarschap, enz.)
  • -v : Uitgebreide uitvoer (toont welke bestanden worden gekopieerd)

Voorzichtigheid met trailing slash in mappaden

In rsync verandert het gedrag afhankelijk van of er een trailing slash is opgenomen in het bronpad.

  • /home/user/documents/ (met slash) → Alleen de inhoud wordt gekopieerd (bijv. file1.txt, file2.txt, enz.)
  • /home/user/documents (zonder slash) → De map documents zelf wordt gekopieerd (resultaat: /mnt/backup/documents/file1.txt)

Dit verschil is een belangrijk punt dat uniek is voor rsync. Gebruik het volgens uw behoeften.

Lijst van vaak gebruikte opties

Rsync heeft veel opties, maar de volgende worden vaak gebruikt voor basisbewerkingen:

OptionDescription
-aArchive mode (recursive, preserves attributes)
-vDisplay detailed transfer information
-nPerform a trial run with no changes (dry run)
--progressShow copy progress
--deleteDelete files in the destination that do not exist in the source

Wilt u zien wat er gebeurt vóór uitvoering?

Om te controleren welke bestanden worden verwerkt voordat ze daadwerkelijk worden overgebracht, gebruik de optie -n of --dry-run.

rsync -av --dry-run /home/user/documents/ /mnt/backup/

Dit stelt u in staat om vooraf een voorbeeld te bekijken van “wat er zal gebeuren”, waardoor per ongeluk gegevensverlies wordt voorkomen.

Omgaan met verborgen bestanden

Rsync neemt standaard verborgen bestanden (die beginnen met een punt .) op in de overdracht. Dit maakt eenvoudige synchronisatie van configuratie‑ en omgevingsbestanden mogelijk.

4. Synchronisatie met externe servers

Externe synchronisatie met rsync via SSH

Een van de grootste voordelen van rsync is de mogelijkheid om bestanden te synchroniseren met externe servers via SSH. Hierdoor kan data over het netwerk worden overgebracht terwijl de verbinding beveiligd blijft.

De basis‑syntaxis is als volgt:

rsync -avz source user@remote_IP_or_hostname:destination_path

Bijvoorbeeld, om de lokale map /home/user/documents/ te synchroniseren naar /var/www/backup/ op een externe server, gebruikt u:

rsync -avz /home/user/documents/ user@example.com:/var/www/backup/
  • De optie -z comprimeert data tijdens de overdracht, wat effectief is wanneer de bandbreedte beperkt is.
  • Het gedeelte user@host geeft de SSH‑gebruikersnaam en de hostnaam van de bestemming aan.

Eerste verbinding en het instellen van sleutel‑authenticatie

Wanneer u voor de eerste keer verbinding maakt met een externe bestemming, wordt u mogelijk gevraagd de authenticiteit van de host te bevestigen. Als het veilig is om door te gaan, typ dan “yes”.

Voor frequente rsync‑uitvoeringen is het gebruikelijk om SSH‑sleutel‑authenticatie in te stellen zodat u geen wachtwoorden meer hoeft in te voeren.

  1. Genereer lokaal SSH‑sleutels (als u ze nog niet heeft):
    ssh-keygen -t rsa
    
  1. Kopieer de openbare sleutel naar de externe server:
    ssh-copy-id user@example.com
    

Daarna kan rsync zonder wachtwoord worden uitgevoerd.

Wanneer het opgeven van een poortnummer noodzakelijk is

Als de externe server een niet‑standaard SSH‑poort gebruikt (anders dan 22), kunt u deze expliciet opgeven met de optie -e.

rsync -avz -e "ssh -p 2222" /home/user/documents/ user@example.com:/var/www/backup/

Voorzichtigheid bij bidirectionele synchronisatie

Rsync is een unidirectioneel synchronisatietool en synchroniseert alleen van “bron → bestemming”. Als u bidirectionele synchronisatie nodig heeft, is rsync alleen niet voldoende; overweeg dan een ander hulpmiddel (bijv. unison).

5. Handige rsync‑opties en gebruiksvoorbeelden

Handige opties naast basis‑rsync‑gebruik

Naast de basis‑kopie‑ en synchronisatiefuncties biedt rsync diverse nuttige opties. Hieronder enkele geavanceerde opties die in de praktijk van pas komen.

–delete: Verwijder bestanden die niet in de bron aanwezig zijn

Met deze optie worden automatisch bestanden in de bestemming verwijderd die niet in de bron bestaan. Dit is zeer bruikbaar wanneer u een exacte spiegel (een volledige replica) wilt maken.

rsync -av --delete /home/user/source/ /mnt/backup/

※ Omdat er een risico bestaat dat per ongeluk noodzakelijke bestanden worden verwijderd, wordt aangeraden eerst een controle uit te voeren met --dry-run.

–exclude: Sluit specifieke bestanden of mappen uit

Om bepaalde bestanden of mappen van synchronisatie uit te sluiten, gebruikt u --exclude.

rsync -av --exclude '*.log' --exclude 'node_modules' /project/ /backup/

U kunt meerdere patronen combineren voor flexibele uitsluitingsinstellingen.

–bwlimit: Bandbreedtelimiet

Als je rsync in de achtergrond wilt uitvoeren zonder andere netwerkverkeer te beïnvloeden, is de optie --bwlimit effectief voor het beperken van de transfersnelheid.

rsync -av --bwlimit=5000 /data/ user@remote:/data/

(Dit voorbeeld beperkt de snelheid tot een maximum van 5MB/s)

Praktijkvoorbeelden

rsync voor back-updoeleinden

Rsync kan ook worden gebruikt als een eenvoudige en hoogwaardige back-uptool. Hieronder staat een commando dat je kunt gebruiken voor dagelijkse back-ups naar een externe HDD.

rsync -a --delete /home/user/ /media/usb/backup/

Hier wordt --delete samen gebruikt om volledige spiegeling te bereiken.

Geautomatiseerde uitvoering gecombineerd met cron

Door rsync te combineren met cron, kun je regelmatige synchronisatie automatiseren. Bijvoorbeeld, om elke nacht om 2 uur een back-up te maken, bewerk je je crontab als volgt:

0 2 * * * rsync -a /home/user/ /mnt/backup/ >> /var/log/rsync.log 2>&1

Dit maakt onbeheerde automatische synchronisatie mogelijk, wat de efficiëntie voor taken en serveroperaties aanzienlijk verbetert.

rsync maakt zowel “flexibiliteit” als “efficiëntie” mogelijk

De aantrekkingskracht van rsync ligt in zijn vermogen om zowel “flexibiliteit om zich aan te passen aan elk doel” als “hoge transfer-efficiëntie” te bereiken dankzij zijn rijke set opties. Als een methode om synchronisatie zoals bedoeld veilig en snel uit te voeren, in plaats van slechts een eenvoudige kopie, is rsync een zeer krachtige keuze.

6. Inleiding tot de GUI-tool “Grsync”

Aanbevolen voor degenen die niet vertrouwd zijn met de command line

rsync is een zeer krachtige tool, maar de bediening ervan berust voornamelijk op commando-invoer met behulp van de terminal. Voor beginners die niet vertrouwd zijn met Linux of degenen die de voorkeur geven aan visuele configuratie en gebruik van tools, kan dit ontmoedigend aanvoelen.

Hier komt Grsync van pas. Grsync is een GUI-tool die rsync intern gebruikt terwijl het een grafische interface biedt voor configuratie en uitvoering.

Hoe Grsync te installeren (Ubuntu)

Op Ubuntu kun je Grsync eenvoudig installeren met behulp van APT.

sudo apt update
sudo apt install grsync

Na installatie verschijnt “Grsync” in je applicatielijst, en door erop te klikken start de GUI.

Basisgebruik van Grsync

De Grsync-interface is intuïtief en stelt je in staat om items te configureren zoals:

  • Voer bron- en doelpaden in
  • Selectievakjes die overeenkomen met belangrijke rsync-opties zoals “Recursieve kopie”, “Attributen behouden” en “Delete-optie”
  • Specificeer uitsluitingspatronen
  • Dry run-uitvoering knop

Na configuratie, door op de “Uitvoeren” knop te klikken, wordt rsync op de achtergrond uitgevoerd en wordt de bestandsynchronisatie uitgevoerd.

Eenvoudige periodieke taken met de Profile-functie

Grsync stelt je in staat om je configuratie-instellingen op te slaan als “Profielen”. Dit is zeer handig voor het beheren van meerdere back-up-instellingen of synchronisatiedoelen.

Bijvoorbeeld:

  • Profiel 1: Back-up naar USB-stick
  • Profiel 2: Sync met NAS
  • Profiel 3: Spiegelen naar een externe server

Je kunt gemakkelijk tussen deze toepassingen schakelen direct binnen de GUI.

Voor- en nadelen van het gebruik van Grsync

ProsCons
Intuitive operation without commandsSome advanced options may not be configurable through the GUI
Configure while confirming the meaning of optionsVisualization of process details is somewhat abstract and may be insufficient for those accustomed to rsync’s output
Easy to start safely (e.g., dry run with a button)Less flexible in some situations compared to using the terminal

7. Veelvoorkomende problemen en oplossingen

Bestandsrechten worden niet behouden

Symptoom: De eigenaar of rechten van bestanden in de bestemming veranderen.
Oorzaak: rsync wordt uitgevoerd met normale gebruiker-rechten of de -a (archief) optie wordt niet gebruikt.
Oplossing:

  • Specificeer expliciet de -a optie.
  • Voer rsync uit met sudo wanneer nodig.
    sudo rsync -a /source/ /destination/
    

Symbolische links worden genegeerd

Symptoom: Link-bestanden worden niet gekopieerd, of ze worden gekopieerd als daadwerkelijke bestanden.
Oorzaak: Standaard worden symbolische links zoals ze zijn gekopieerd, maar het gedrag verschilt afhankelijk van de opties.
Oplossing:

  • Om links zoals ze zijn te kopiëren: Gebruik -a .
  • Om het doelbestand zelf te kopiëren: Voeg --copy-links toe .

“Permission denied” wordt weergegeven

Symptoom: Synchronisatie mislukt met een “Permission denied” fout voor specifieke bestanden of mappen.
Oorzaak: Onvoldoende toegangstoestemmingen.
Oplossing:

  • Voer rsync uit met sudo .
  • Controleer en corrigeer de toegangsrechten voor de bron‑ of doeldirectory’s.
    sudo rsync -a /source/ /destination/
    

“rsync: verbinding onverwacht gesloten” wordt weergegeven (ijdens externe verbinding)

Symptoom: Synchronisatie wordt onderbroken door een fout tijdens de verbinding met de externe server.
Oorzaak: Problemen met de SSH‑configuratie, onjuiste pad‑specificatie, instellingen voor externe rechten, enzovoort.
Oplossing:

  • Controleer eerst de SSH‑verbinding: Controleer of ssh user@host succesvol is.
  • Controleer of het doelpAd correct is.
  • Overweeg firewall‑ of poortproblemen.

“Argument list too long”

Symptoom: Er treedt een fout op bij het probereniseren van een map met een zeer groot aantal bestanden.
Oorzaak: De limiet voor de lengte van opdrachtregel‑argumenten wordt overschreden.
Oplossing:

  • Beperk de doelwitten met --exclude of --include .
  • Synchroniseer in meerdere stappen, map voor map.

8. FAQ (Veelgestelde vragen)

Hier hebben we veelvoorkomende vragen en problemen verzameld die gebruikers tegenkomen bij het gebruik van rsync op Ubuntu. We geven duidelijke uitleg met de nadruk op punten waar beginners vaak vastlopen.

Q1. Hoe kan ik bestandseigendom en -rechten behouden met rsync?

A1. Door de optie -a (archive‑modus) te gebruiken, kun je bestanden kopiëren terwijl je hun rechten, tijdstempels, eigenaar, groep en meer behoudt. Deze optie is essentieel voor taken zoals het back‑uppen van systeemconfiguraties.

rsync -a /etc/ /backup/etc/

Q2. Hoe sluit ik specifieke bestanden of mappen uit van synchronisatie?

A2. Je kunt specifieke bestanden of patronen uitsluiten van het synchronisatiedoel met de optie --exclude.

rsync -av --exclude '*.log' /project/ /backup/project/

Wildcard‑tekens kunnen ook worden gebruikt, waardoor het eenvoudig is om mappen zoals node_modules of .git uit te sluiten.

Q3. Hoe kan ik de netwerksnelheid beperken met rsync?

A3. De optie --bwlimit stelt je in staat de overdrachtssnelheid te limiteren. De eenheid is KB/s.

rsync -av --bwlimit=5000 /data/ user@remote:/data/

In dit voorbeeld wordt de overdrachtssnelheid beperkt tot maximaal 5 MB/s. Dit is handig wanneer je het netwerk niet wilt overbelasten.

Q4. Ik wil zien wat er gebeurt vóór uitvoering. Hoe?

A4. Met de optie --dry-run (of -n) simuleer je de overdracht zonder daadwerkelijk bestanden te verplaatsen. Het laat precies zien wat er zou gebeuren.

rsync -av --dry-run /source/ /destination/

Deze verificatiestap is uiterst belangrijk bij het eerste gebruik van rsync of bij bewerkingen die --delete bevatten.

Q5. Worden verborgen bestanden (dot‑files) gekopieerd?

A5. Ja, rsync neemt standaard bestanden die met een punt (.) beginnen op in de kopie. Als je specifieke verborgen bestanden wilt uitsluiten, moet je een uitsluitingsregel toevoegen, bijvoorbeeld --exclude '.*'.

Q6. Wat is het verschil tussen rsync en scp?

A6. scp is een tool gericht op eenvoudige bestandsoverdracht en kopieert elke keer alle bestanden. rsync kan differentiële overdrachten uitvoeren, waardoor alleen de gewijzigde delen worden gekopieerd, wat het geschikter maakt voor back‑ups en mirroring. Het is bovendien robuuster bij het hervatten van onderbroken overdrachten.

9. Conclusie

In dit artikel hebben we een breed scala aan onderwerpen behandeld over rsync op Ubuntu, van installatiemethoden en basisgebruik tot synchronisatie met externe servers, handige opties, het gebruik van de GUI‑tool “Grsync”, probleemoplossing en FAQ’s.

Samenvatting van de aantrekkingskracht van rsync

  • Snelle differentiële overdracht voorkomt onnodige gegevensoverdracht.
  • Maakt back‑ups en mirroring mogelijk terwijl rechten en eigendom behouden blijven.
  • Ondersteunt externe synchronisatie en kan veilig worden gebruikt in combinatie met SSH.
  • Rijke opties bieden fijnmazige controle voor verschillende situaties, zoals uitsluitingsinstellingen en bandbreedtelimieten.
  • Kan worden geïntegreerd met cron om automatisering en periodieke uitvoering te realiseren.
  • De GUI‑tool Grsync maakt het voor beginners eenvoudig om met vertrouwen te werken.

rsync is een “essentieel hulpmiddel voor Linux‑gebruikers”

In Linux‑omgevingen, waaronder Ubuntu, is rsync een fundamenteel hulpmiddel voor bestandsbewerkingen, back‑ups en synchronisatie. Zelfs voor beginners stelt het oefenen van de in dit artikel geïntroduceerde inhoud je in staat om rsync veilig en efficiënt te gebruiken.

Bovendien, hoewel rsync een eenvoudige syntaxis heeft, stelt het beheersen ervan je in staat tot bestandsbeheer op professioneel niveau. Begin met het begrijpen van de basis, en voeg indien nodig geavanceerde opties toe om de manier te vinden om rsync in jouw eigen omgeving te gebruiken.