12 april 2012

Bestanden synchroniseren met behulp van rsync

3 min leestijd

Mac OS X is standaard voorzien van een zeer handige tool waarmee heel eenvoudig bestanden en mappen kunnen worden gesynchroniseerd. Wanneer je een beetje overweg kunt met OS X Terminal dan is de rsnyc een super tool om bestanden en mappen op een alternatieve locatie gesynchroniseerd te houden.

Hieronder vind je vijf voorbeelden van het rsync commando onder OS X Terminal:

1. Bestanden en mappen synchroniseren

De meeste eenvoudige taak die rsync kan uitvoeren is het synchroniseren van bestanden en mappen. Dit kun je doen met behulp met het volgende commando:

rsync -opties bronmap doelmap

Er zijn tal van opties beschikbaar voor het rsync commando waarmee je eenvoudige tot zeer complexe synchronisaties kunt uitvoeren. De bronmap is de map met de gegevens die wilt synchroniseren, deze zullen worden gesynchroniseerd in de doelmap.

Start OS X Terminal (Programma's ▸ Hulpprogramma's) en typ het onderstaande commando:

rsync -r

Open hierna Finder en sleep de (bron)map die je wilt synchroniseren in het Terminal venster, automatisch zal Terminal de locatie van de map omzetten naar het POSIX pad. Als laatste stap sleep je ook de doelmap in het Terminal venster. In het Terminal verschijnt nu een soortgelijk commando als het onderstaande voorbeeld:

rsync -r /User/richard/Documents /User/richard/Desktop/backup

Door nu op enter te drukken wordt het commando uitgevoerd, alle gegevens uit de thuismap Documenten worden nu naar de map backup op het bureaublad gekopieerd. Wanneer je het commando hierna opnieuw uitvoert zullen alleen de wijzigen worden gesynchroniseerd.

2. De aanmaakdatum behouden

Wanneer je gebruik maakt van rsync dan zal de aanmaakdatum van de bestanden de huidige datum en tijd krijgen. Wanneer dit niet wenselijk is dan kun je in plaats van de optie -r gebruik maken van -a. De -a option zorgt ervoor dat de permissies op de bestanden en mappen, aanmaakdatum (timestamp) en de bevoegdheden (gebruikers en groepen) behouden blijven.

Je gebruikt hiervoor rsync als volgt:

rsync -a /User/richard/Documents /User/richard/Desktop/backup

3. Een enkel bestand synchroniseren

Wanneer je in plaats van een gehele map een enkel bestand wilt synchroniseren dan is dat ook mogelijk. Dit kun je doen door simpelweg geen opties te gebruiken. Als we bijvoorbeeld het document 'appletips.txt' vanuit de documenten map willen synchroniseren naar de map Backup op het bureaublad dan gebruiken we:

rsync -a /User/richard/Documents/appletips.txt  /User/richard/Desktop

Omdat we geen speciale functies gebruiken maken we ook geen gebruik van de opties.

4. Alleen de mappenstructuur sycnhroniseren

Wanneer je wel eens werkt aan projecten, dan kan het voorkomen dat je alleen de mappenstructuur binnen een map wil dupliceren en niet de aanwezige bestanden. Met behulp van rsync kun je dit heel eenvoudig uitvoeren door gebruik te maken van de -dr optie:

rsync -dr /User/richard/project/123 /User/richard/project/456

In het bovenstaande voorbeeld wordt alleen de mappenstructuur die aanwezig is in de map 123 gekopieerd naar de map 456.

5. De voortgang bekijken tijden het synchroniseren

Wanneer je grote hoeveelheden bestanden en mappen wilt synchroniseren dan kun je voortgang van het synchronisatie proces volgen door de optie -v toe te voegen aan het rsync commando. Deze optie activeert de verbose mode en laat regel voor regel de acties zien die worden uitgevoerd. De optie -r kun je combineren met alle andere beschikbare opties.

rsync -dr -v /User/richard/project/123 /User/richard/project/456
info
Auteur Richard IJzermans
Datum12/04/2012 09:00
Categorie macOS
Feedback Probleem melden
Delen 𝕏
  6 reacties


Reacties

  • Marcel Kraan
    12 april 2012 om 10:35

    het kan mooier met een passwd less authorized_key dan kan je live syncen

  • erik
    12 april 2012 om 21:04

    ik gebruik rsync -avxb –progress –stats –delete bron doel

    – progress geeft de vorderingen weer
    – delete verwijderd bestanden op het doel die bij de bron verwijderd zijn
    – reden voor x en b weet ik niet meer

    -n is handig voor een ‘dry run’, deze laat zien wat er gaat gebeuren, maar voert het niet daadwerkelijk uit.

  • Rogier
    14 april 2012 om 17:31

    Stel ik gebruik dit om mijn iTunes en iPhoto library te rsyncen naar een gemounte sparseimage op een samba share. Gaat dit ook goed? M.a.w. worden alle faces e.d. (al die meta info van iPhoto) dan ook goed gebackupped?

  • ppl
    14 april 2012 om 19:44

    De optie voor de voortgang is niet de juist. De -v is alleen verbose (–verbose kun je als alternatief gebruiken) en geeft je alleen meer informatie. Als je de voortgang wilt zien zul je gebruik moeten maken van –progress. In combinatie met –stats levert je dat een hele goede weergave wat hij nou aan het doen is en hoe de voortgang is.

  • Walter
    26 januari 2020 om 13:39

    Is er ook een optie om alle meta-gegevens mee te kopiëren? Ik bewerk mijn foto’s in lightroom maar al die gegevens zijn niet meer te zien in “Info” van Finder. ook de aanmaak info en dergelijke zijn niet meer te zien.

  • Aleidus Aalderink
    19 februari 2024 om 10:02

    Na opnieuw installeren van MacBook werkt rsync niet meer op MacBook Pro met macOS Sonema hier de resultaat.
    MacBook-Pro-van-Aleidus:Documents aleidus$ rsync -a /User/aleidus/Documents/appletips.txt /User/aleidus/Desktop
    rsync: [sender] change_dir “/User/aleidus/Documents” failed: No such file or directory (2)
    rsync: [Receiver] change_dir#3 “/User/aleidus” failed: No such file or directory (2)
    rsync error: errors selecting input/output files, dirs (code 3) at main.c(831) [Receiver=3.2.7]

    Mijn vraag hoe los ik dit op. Alvast bedankt,

    Aleidus

Een reactie toevoegen:

Ik ga akkoord dat deze gegevens worden opgeslagen [privacy]



Download gratis de appletips app
voor iPhone en iPad in de App Store