Zoeken op website

Hoe Rsync te gebruiken om nieuwe of gewijzigde/gewijzigde bestanden in Linux te synchroniseren


Als systeembeheerder of Linux-hoofdgebruiker bent u waarschijnlijk de veelzijdige Linux Rsync-tool tegengekomen of zelfs meerdere keren gebruikt, waarmee gebruikers snel bestanden lokaal en op afstand kunnen kopiëren of synchroniseren. Het is ook een geweldig hulpmiddel dat in de volksmond wordt gebruikt voor back-upbewerkingen en spiegeling.

Enkele van de eminente kenmerken en voordelen zijn onder meer; het is uitzonderlijk veelzijdig omdat het lokaal kan kopiëren, naar/van een externe shell of externe rsync. Het is ook opmerkelijk flexibel, waardoor gebruikers een willekeurig aantal bestanden kunnen specificeren om te kopiëren.

Aanbevolen leesmateriaal: 10 praktische voorbeelden van Rsync-opdrachten in Linux

Bovendien staat het het kopiëren van links, apparaten, bestands- of directory-eigenaar, groepen en machtigingen toe. Het ondersteunt ook gebruik zonder rootrechten, en nog veel meer.

Een belangrijk verschil tussen rsync en andere commando's voor het tegenhouden van bestanden in Linux is het gebruik van het remote-update-protocol, om alleen het verschil tussen bestanden of directory-inhoud over te dragen.

Daarom zullen we in dit artikel onderzoeken hoe rsync ons kan helpen alleen nieuwe of gewijzigde bestanden of mapinhoud te synchroniseren tijdens het maken van back-ups en meer in Linux.

Om te beginnen moet je onthouden dat de conventionele en eenvoudigste vorm van het gebruik van rsync als volgt is:

rsync options source destination 

Dat gezegd hebbende, laten we een paar voorbeelden bekijken om te ontdekken hoe het bovenstaande concept daadwerkelijk werkt.

Bestanden lokaal synchroniseren met Rsync

Met behulp van de onderstaande opdracht kan ik bestanden vanuit mijn map Documenten lokaal naar de map /tmp/documents kopiëren:

rsync -av Documents/* /tmp/documents

In de bovenstaande opdracht is de optie:

  1. -a – betekent archiefmodus
  2. -v – betekent uitgebreid en toont details van lopende activiteiten

Standaard kopieert rsync alleen nieuwe of gewijzigde bestanden van een bron naar een bestemming. Wanneer ik een nieuw bestand toevoeg aan mijn map Documenten, gebeurt dit na het uitvoeren van dezelfde opdracht een tweede keer:

rsync -av Documents/* /tmp/documents

Zoals u kunt zien en opmerken aan de hand van de uitvoer van de opdracht, wordt alleen het nieuwe bestand naar de doelmap gekopieerd.

Voorgesteld leesvoer: Hoe twee Apache-webservers/websites te synchroniseren met Rsync

Met de optie --update of -u kan rsync bestanden overslaan die nog nieuw zijn in de doelmap, en een belangrijke optie, --dry-run of -n kunnen we een testbewerking uitvoeren zonder wijzigingen aan te brengen. Het laat ons zien welke bestanden moeten worden gekopieerd.

rsync -aunv Documents/* /tmp/documents

Na het uitvoeren van een testrun kunnen we de -n afschaffen en een echte bewerking uitvoeren:

rsync -auv Documents/* /tmp/documents

Bestanden synchroniseren van lokaal naar extern Linux

In het onderstaande voorbeeld kopieer ik bestanden van mijn lokale machine naar een externe server met het IP-adres – 10.42.1.5. Om alleen nieuwe bestanden op de lokale machine te synchroniseren, die niet bestaan op de externe machine, kunnen we de optie --ignore-existing toevoegen:

rsync -av --ignore-existing Documents/* [email :~/all/

Om vervolgens alleen bijgewerkte of gewijzigde bestanden op de externe machine te synchroniseren die op de lokale machine zijn gewijzigd, kunnen we een proefrun uitvoeren voordat we de bestanden kopiëren, zoals hieronder:

rsync -av --dry-run --update Documents/* [email :~/all/
rsync -av --update Documents/* [email :~/all/

Om bestaande bestanden bij te werken en te voorkomen dat er nieuwe bestanden op de bestemming worden aangemaakt, gebruiken we de optie --existing.

Je kunt de man rsync pagina doorlopen om aanvullende nuttige opties voor geavanceerd gebruik te ontdekken. Zoals ik al eerder had vermeld, is rsync een zeer krachtige en veelzijdige Linux-tool, en veel System Beheerders en Linux-hoofdgebruikers weten hoe voordelig het is.

Het allerbelangrijkste is dat u net zo goed uw mening kunt geven over de voorbeelden die we hier hebben behandeld, of, nog beter nog, ons waardevolle tips kunt geven over het gebruik van dit essentiële opdrachtregelprogramma via het commentaargedeelte hieronder.