Menu

12 april 2012

Bestanden synchroniseren met behulp van rsync

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



Gerelateerde tips:




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.

Een reactie toevoegen: