Rsync voor Linux: bestanden synchroniseren, kopiëren en back-uppen
9 min lezen - 24 mei 2025

Hoe rsync te gebruiken op Linux voor incrementele overdrachten, synchroniseren op afstand via SSH, geplande back-ups met cron en het vermijden van de trailing-slash val.
Rsync voor Linux: hoe u bestanden synchroniseert, kopieert en back-upt als een professional
Rsync is de standaardtool voor het kopiëren van bestanden tussen Linux-systemen. Het is sneller dan cp of scp voor alles wat je vaker dan één keer uitvoert, herstelt het na netwerkstoringen en draagt het alleen over wat daadwerkelijk is gewijzigd. Dit bericht behandelt wat rsync doet, de vlaggen die de moeite waard zijn om te kennen, de voorbeelden die je het vaakst zult gebruiken en hoe je het kunt plannen met cron.
Wat is rsync?
Rsync is een commandoregelprogramma voor het kopiëren en synchroniseren van bestanden tussen locaties. Het werkt lokaal, via SSH naar een externe host of tegen een rsync-daemon. Het belangrijkste verschil met cp of scp: rsync vergelijkt eerst de bron en de bestemming en draagt vervolgens alleen de verschillen over. In een map van 100 GB waarin 200 MB is gewijzigd, verplaatst rsync 200 MB. cp en scp verplaatsen alles.
Het wordt meegeleverd met elke moderne Linux-distributie. Als het ontbreekt: apt install rsync of dnf install rsync.
Waarom rsync gebruiken in plaats van cp of scp
Drie redenen waarom rsync de voorkeur verdient voor elke niet-triviale kopie:
- Het is incrementeel. Bij volgende runs worden alleen de gewijzigde bytes overgedragen, niet hele bestanden. Voor back-ups en mirrors zorgt dat ervoor dat een taak die 's nachts zou duren, nu binnen enkele minuten is voltooid.
- Het is bestand tegen onderbrekingen. Met
--partialwordt een voor de helft overgedragen bestand van 50 GB hervat vanaf waar het was gestopt, in plaats van helemaal opnieuw te beginnen. - Het behoudt metadata. De archiefmodus (
-a) behoudt rechten, eigendom, symlinks en tijdstempels. Cruciaal voor systeembestanden, broncodebomen en alles waarbij attributen van belang zijn.
Voor eenmalige kopieën van kleine bestanden scp is prima. Gebruik rsync voor alles wat herhaaldelijk gebeurt, veel bandbreedte vereist of waarvoor je de overdracht mogelijk moet hervatten.
Veelgebruikte rsync-vlaggen
De vlaggen die u daadwerkelijk zult gebruiken:
| Vlag | Wat het doet |
|---|---|
-a | Archiefmodus. Behoudt rechten, eigendom, symlinks en tijdstempels. Komt overeen met -rlptgoD. |
-v | Verbose. Geeft een overzicht van de bestanden die worden overgedragen. |
-z | Comprimeren tijdens verzending. Handig bij trage of dure verbindingen, minder handig op een LAN of voor reeds gecomprimeerde inhoud. |
-P | Combineert --partial en --progress. Hervat onderbroken overdrachten, toont de voortgang in realtime. |
--delete | Verwijder bestanden op de bestemming die niet op de bron bestaan. Vereist voor een echte mirror. |
--exclude | Sla bestanden over die aan een patroon voldoen. |
--exclude-from=FILE | Lees uitsluitingspatronen uit een bestand. Netter dan het achter elkaar plaatsen van veel --exclude vlaggen aan elkaar te koppelen. |
--dry-run | Laat zien wat er zou gebeuren als er niets wordt overgezet. |
--bwlimit=KBPS | Beperk het bandbreedtegebruik in kilobytes per seconde. Handig voor back-ups die tijdens kantooruren worden uitgevoerd. |
--checksum | Vergelijk bestanden op checksum in plaats van op grootte en wijzigingstijd. Langzamer, maar vangt uitzonderingsgevallen op. |
-e ssh | Gebruik SSH voor de overdracht. Dit is standaard bij de meeste moderne installaties. |
Het standaardgedrag vergelijkt bestandsgrootte en wijzigingstijd, wat snel is en bijna altijd correct. Schakel over --checksum als een implementatieproces tijdstempels herschrijft zonder de inhoud te wijzigen, of als u corruptie op bitniveau vermoedt.
Voorbeelden van rsync
Kopieer een map lokaal:
rsync -av /source/path/ /destination/path/Synchroniseer met een externe server via SSH:
rsync -avz /local/dir/ user@remote:/remote/dir/Doe een proefdraai voordat je iets destructiefs doet:
rsync -avz --dry-run /local/dir/ user@remote:/dir/Spiegel twee mappen, inclusief verwijderingen op de bestemming:
rsync -av --delete /source/ /destination/Logs en een tijdelijke map uitsluiten:
rsync -av --exclude='*.log' --exclude='tmp/' /src/ /dest/Hervat een grote overdracht die mogelijk onderbroken is:
rsync -avP user@remote:/backups/big.img /local/Als de SSH-sessie wordt verbroken, voer dan hetzelfde commando opnieuw uit. Met -Pgaat rsync verder waar het was gebleven in plaats van helemaal opnieuw te beginnen.
Beperk de bandbreedte tot 50 MB/s voor een back-up buiten de piekuren, zodat de uplink niet verzadigd raakt:
rsync -avz --bwlimit=50000 /local/dir/ user@remote:/dir/De valkuil van de afsluitende schuine streep
De meest voorkomende fout bij rsync:
rsync -av /source /destination/ # copies the 'source' directory INTO /destination
rsync -av /source/ /destination/ # copies the CONTENTS of /source into /destinationEen afsluitende schuine streep bij de bron betekent "alles in deze map". Geen afsluitende schuine streep betekent "deze map zelf". Voer het commando --dry-run eerst als je twijfelt, vooral in combinatie met --delete.
Rsync automatiseren met cron
Voor geplande back-ups hebt u drie dingen nodig:
Wachtwoordloze SSH-toegang tot de bestemming. Cron-taken kunnen geen wachtwoorden invoeren. Genereer een sleutel en kopieer deze naar de back-uphost:
ssh-keygen -t ed25519 ssh-copy-id user@backup-hostEen script, geen one-liner in crontab. Makkelijker te testen, makkelijker te loggen:
#!/bin/bash LOG=/var/log/rsync-backup.log rsync -az --delete /etc/ user@backup:/backups/$(hostname)/etc/ >> "$LOG" 2>&1Maak het uitvoerbaar met
chmod +x.Een cron-vermelding om het uit te voeren. Bewerk met
crontab -e:0 2 * * * /usr/local/bin/rsync-backup.shDat voert het script elke nacht om 02:00 uur uit.
Twee verbeteringen die de moeite waard zijn in de productieomgeving: omhul het script met flock zodat een langlopende taak niet overlapt met de run van de volgende nacht, en leid de uitvoer door via logger zodat fouten in het systeemlogboek terechtkomen waar monitoring ze kan oppikken.
Laatste opmerkingen
Rsync is een van de weinige Linux-tools waarbij de tijd die je besteedt aan het leren van de vlaggen zich vrijwel onmiddellijk terugbetaalt. De belangrijkste punten:
- Incrementele overdrachten en ondersteuning voor hervatten maken rsync de juiste keuze voor alles wat u meer dan eens uitvoert
-avoor de archiefmodus,-zvoor compressie,-Pvoor hervatten en voortgang,--deletevoor echte mirrors- Let op de afsluitende schuine streep in het bronpad, vooral bij
--delete - Combineer het met cron en SSH-sleutels voor geautomatiseerde geplande back-ups
Voor grote back-uptaken waarbij gegevens tussen locaties worden verplaatst, betekent het draaien van rsync op een VPS met onbeperkte bandbreedte dat back-upvensters niet worden beperkt door overdrachtslimieten.
Waarom het belangrijk is om een krachtige en unmetered VPS te hebben
Een unmetered VPS geeft flat-rate bandbreedte op een vaste poortsnelheid. Hoe het verschilt van bemeterde plannen, wanneer het loont en wat u moet controleren voordat u koopt.
7 min lezen - 9 mei 2025
Linux geheugenbeheer: Swap, OOM-moordenaar & Cgroepen
12 min lezen - 31 mei 2026

Hebt u vragen of wilt u een oplossing op maat?
Flexibele opties
Wereldwijd bereik
Directe inzet
Flexibele opties
Wereldwijd bereik
Directe inzet