Startpagina > Bestands- en mapbeheer > rsync

rsync: Bestandssynchronisatie en back-up (met include-optie)

rsync is een krachtig hulpprogramma voor het efficiënt synchroniseren van bestanden en mappen tussen lokale en externe systemen. Vooral met de `--include`-optie kunt u alleen bestanden of mappen opnemen die overeenkomen met specifieke patronen, wat zeer nuttig is in complexe back-up- en implementatiescenario's. Deze gids richt zich op het basisgebruik van rsync en de toepassing van de `--include`-optie.

Overzicht

rsync bespaart netwerkbandbreedte door alleen gewijzigde bestanden over te dragen en stelt u in staat om de over te dragen bestanden/mappen nauwkeurig te regelen via de `--include`- en `--exclude`-opties. `--include` neemt specifieke patronen op, en `--exclude` sluit specifieke patronen uit. De volgorde van deze twee opties is belangrijk.

Belangrijkste kenmerken

  • Incrementele overdracht: efficiënt door alleen gewijzigde bestanden over te dragen
  • Externe synchronisatie: mogelijk om te synchroniseren met externe servers via SSH, etc.
  • Flexibele filtering: nauwkeurige controle over overdrachtsobjecten met `--include`- en `--exclude`-opties
  • Attribuutbehoud: behoudt verschillende attributen zoals bestandsrechten, eigendom, tijdstempels

Belangrijkste opties

Dit zijn de belangrijkste opties die vaak worden gebruikt in combinatie met de `--include`-optie van rsync.

Filteropties

Standaard gedrag en efficiëntieopties

Gegenereerde opdracht:

Probeer de opdrachtcombinaties.

Uitleg:

`rsync` Voer het commando uit.

Combineer deze opties en voer de opdracht virtueel uit met de AI.

Gebruiksvoorbeelden

Voorbeelden van verschillende synchronisatiescenario's met de `--include`-optie van rsync.

Synchroniseren door alleen bestanden met specifieke extensies op te nemen

rsync -av --include='*.txt' --exclude='*' src/ dest/

Synchroniseert alleen bestanden met de extensie '.txt' van de 'src'-map in de huidige map naar de 'dest'-map. Alle andere bestanden worden uitgesloten.

Synchroniseren door alleen specifieke mappen op te nemen

rsync -av --include='data/***' --exclude='*' src/ dest/

Synchroniseert de 'data/' map en al zijn inhoud van de 'src'-map naar de 'dest'-map. Alle andere bestanden/mappen worden uitgesloten.

Synchroniseren door meerdere patronen op te nemen/uit te sluiten

rsync -av --exclude='*.log' --include='report/***' --include='*.txt' --exclude='*' src/ dest/

Sluit '.log'-bestanden uit van 'src', en synchroniseert de 'report/' map en '.txt'-bestanden naar 'dest'. De resterende bestanden worden uitgesloten.

Test inclusie/exclusie regels met dry run

rsync -avn --include='*.txt' --exclude='*' src/ dest/

Controleert hoe filterregels worden toegepast zonder daadwerkelijke synchronisatie. Dit commando geeft alleen weer welke bestanden worden overgedragen.

Alleen specifieke bestanden van een externe server ophalen

rsync -av --include='*.conf' --exclude='*' user@remote_host:/remote/path/ ./local/path/

Haalt alleen '.conf'-bestanden van '/remote/path/' op de externe server op naar './local/path/' lokaal.

Tips & Aandachtspunten

Tips en aandachtspunten voor het effectief gebruiken van de `--include`- en `--exclude`-opties van rsync.

Belang van de volgorde van filterregels

De `--include`- en `--exclude`-opties worden verwerkt in de volgorde waarin ze op de opdrachtregel verschijnen. De eerste overeenkomende regel heeft voorrang. Daarom is het gebruikelijk om specifiekere regels eerst en algemenere regels later te plaatsen.

  • Voorbeeld 1: `--include='specific_file' --exclude='*'` (neemt alleen specifieke bestanden op en sluit de rest uit)
  • Voorbeeld 2: `--exclude='*.tmp' --include='*'` (neemt alle bestanden op, maar sluit .tmp-bestanden uit)

Wildcards en patroonovereenkomst

Verschillende wildcards kunnen worden gebruikt voor patroonovereenkomst.

  • `*`: Elke tekenreeks (niet over mapgrenzen heen)
  • `?`: Enkel teken
  • `[chars]`: Eén van de tekens tussen de haakjes
  • `***`: Elke tekenreeks die mapgrenzen overschrijdt (recursieve overeenkomst)

Betekenis van slash (/)

De werking kan variëren afhankelijk van of er een slash aan het einde van het patroon staat.

  • `dir/`: Is van toepassing op de map 'dir' zelf en al zijn inhoud.
  • `file_or_dir`: Is van toepassing op zowel bestanden als mappen met de naam 'file_or_dir'.

Gebruik van Dry Run (`-n`)

Bij het gebruik van complexe filterregels is het altijd raadzaam om de `-n` of `--dry-run`-optie te gebruiken om de verwachte resultaten te controleren voordat de daadwerkelijke synchronisatie plaatsvindt. Dit is essentieel om onbedoelde bestandsverwijdering of -opname te voorkomen.


Hétzelfde categoriecommando