Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Mappen gelijk houden  (gelezen 716 keer)

Mappen gelijk houden
« Gepost op: 2013/06/12, 20:16:07 »
Wat ik wil is het volgende

Ik heb een locatie A en locatie B
Nu wil dat na het uitvoeren van een commando die in de cron komt te staan, Locatie A gelijk is aan Locatie B.
De mappen staan allebei op dezelfde server.

Hoe kan ik dit het beste doen?
Gr.
Benjamins
Informatie over linux: Alles over Linux


Offline testcees

  • Documentatieteam
    • testcees
    • www.testcees.nl
Re: Mappen gelijk houden
« Reactie #1 Gepost op: 2013/06/12, 21:21:44 »
rsync.
rsync -a source/ destination/ kopieert de verschillen van map source/ naar destination/
destination/ mag ook een map op een andere computer zijn als je die kan bereiken met ssh.
rsync -a --delete source/ destination/Kopieert de verschillen en wist bestanden in destination/ als deze ook zijn gewist uit source/
Om het te testen kan je de -v optie gebruiken om te zien welke bestanden worden gekopieerd of gewist.

Zie man rsync of een dit interessante artikel over rsync: www.mikerubel.org/computers/rsync_snapshots/
« Laatst bewerkt op: 2013/06/12, 21:54:30 door testcees »
Klik links bovenin op Documentatie

Re: Mappen gelijk houden
« Reactie #2 Gepost op: 2013/06/12, 21:58:09 »
Bedankt voor het antwoord.
Ik dacht later ook al dat het met rsync moest, maar las ook dingen over de commando cp maar dat is alleen kopiëren plakken als ik het goed heb.
Gr.
Benjamins
Informatie over linux: Alles over Linux


Offline h2o

  • Lid
Re: Mappen gelijk houden
« Reactie #3 Gepost op: 2013/06/12, 22:16:15 »
Je kunt met rsync nog meer leuke dingen doen.
Als je het volgende doet

Citaat
sudo rsync --progress -avz --del --exclude '.gvfs' /source /doel
... dan zie je een voortgang van het sync proces per bestand.  Voor kleine bestanden vliegt alles snel voorbij, maar grote bestanden zoals films van diverse GB's is het mooi om te zien hoever rsync met dat bestand bezig is.
Die --exclude zorgt ervoordat bepaalde directories worden overgeslagen, in het voorbeeld wordt .gvfs niet meegenomen.
Heb je meerder van die directories, dan kun je die in een apart txt bestandje zetten en dan met

Citaat
rsync --progress  -avz --del --exclude-from '/home/exclude.txt' /source/ /target
laten inlezen in het begin, en dan worden de betreffende directories overgeslagen.

In mijn voorbeeld betreft het de dirctories...
Citaat
.gvfs
.thumbnails
Het bestandje exclude.tst staat in mijn /home directory.
Werk laptops + werkstation: Debian Testing
Privé laptops: Debian Testing/Unstable
Test laptop: Diverse andere Linux distribities
Chromebooks: ChromeOS Flex

Re: Mappen gelijk houden
« Reactie #4 Gepost op: 2013/06/14, 11:32:52 »
Wat gebeurd er als er op de destination wat veranderd wordt bijv. toegevoegd, verwijderd, aanpassingen.
Word dat ook weer gelijk gemaakt met de source nadat de cron heeft gedraaid?
Gr.
Benjamins
Informatie over linux: Alles over Linux


Offline vanadium

  • Lid
Re: Mappen gelijk houden
« Reactie #5 Gepost op: 2013/06/24, 20:45:14 »
"Bestemming" wordt identiek gemaakt met de "bron". Verander je iets op de bestemming, dan zullen de wijzigingen ongedaan gemaakt worden "als de cron heeft gedraaid". "-a" betekent "archive", en "-a --delete" zorgt ervoor dat de bestemming een exacte kopie wordt van de bron.

Er zijn ook andere gebruiuksmogelijkheden voor rsync. Met andere opties kan je ervoor zorgen dat enkel meer recente bestanden van bron naar bestemming gaan. Door dan rsync in twee richtingen te laten werken, kan je ervoor zorgen dat bron en bestemming telkens de meest recente versies van de bestanden hebben. Het programma "unison" is speciaal gemaakt om twee bestandssystemen te synchroniseren.