Belangrijke opties
Probeer verschillende opties van het `rsync`-commando te combineren om taken voor het synchroniseren en back-uppen van bestanden in te stellen.
1. Basis synchronisatie
2. Overdracht modus en opties
Gegenereerde opdracht:
Probeer de opdrachtcombinaties.
Uitleg:
`rsync` Voer het commando uit.
Combineer deze opties en voer de opdracht virtueel uit met de AI.
Hoe rsync werkt
`rsync` maakt gebruik van het 'delta encoding' algoritme om alleen de gewijzigde delen van bestanden te verzenden, waardoor de netwerkbandbreedte efficiënt wordt gebruikt. Dit maakt het zeer snel en efficiënt bij het synchroniseren van grote bestanden of veel bestanden.
Belangrijkste kenmerken van rsync
`rsync`-functies die het onderscheiden van andere kopieertools.
- Delta-overdracht (Delta Transfer): Identificeert alleen de verschillen tussen de bron- en doelbestanden en verzendt deze. In plaats van het hele bestand opnieuw te kopiëren, worden alleen de gewijzigde blokken verzonden om de efficiëntie te maximaliseren.
- Incrementele back-up (Incremental Backup): Kopieert alleen de bestanden die zijn gewijzigd sinds de laatste back-up, waardoor er geen volledige back-ups hoeven te worden uitgevoerd, wat tijd en ruimte bespaart.
- Externe synchronisatie: Bestanden kunnen via verschillende externe shells, inclusief SSH, via een versleuteld kanaal worden verzonden, wat de beveiliging verhoogt.
- Behoud van bestandseigenschappen: Met de archiefmodus (`-a`) worden alle eigenschappen van bestanden, zoals rechten, eigenaar, groep, tijdstempels en symbolische links, behouden.
Belang van de Trailing Slash (laatste schuine streep) in paden
`rsync` is het belangrijk om te weten of er een schuine streep (`/`) aan het einde van het bronpad staat of niet. - `source/`: Kopieert de **inhoud** van de `source`-map. (bijv. vergelijkbaar met `cp source/* dest/`) - `source`: Kopieert de **map zelf**. (bijv. vergelijkbaar met `cp -r source dest/`) Het niet begrijpen van dit verschil kan leiden tot onvoorziene resultaten.
Voorbeelden van gebruik
Stel een strategie op voor bestandssynchronisatie en back-up aan de hand van praktische voorbeelden van het `rsync`-commando.
Synchronisatie van lokale map (archiefmodus)
rsync -av /path/to/source_dir/ /path/to/destination_dir/
Synchroniseert de inhoud van `source_dir` naar `destination_dir`. Behoudt alle eigenschappen zoals rechten, tijd, etc. Bestanden die niet in `source_dir` staan, worden niet verwijderd van `destination_dir`.
Mirroren van een map naar een externe server (back-up)
rsync -avz --delete --progress /local/my_data/ user@remote_host:/remote/backup/
Spiegelt de inhoud van de lokale map `my_data` naar de map `/backup/` op de externe server. Bestanden die niet in de bron staan, worden ook van de bestemming verwijderd. Gebruikt compressie en toont de voortgang.
Alleen specifieke bestanden van een externe server ophalen
rsync -avz --include='*.log' --exclude='*' user@remote_host:/var/log/ /tmp/logs/
Haal alleen `.log`-bestanden uit de map `/var/log/` van de externe server naar de lokale map `/tmp/logs/`.
Wijzigingen vooraf controleren zonder daadwerkelijke uitvoering
rsync -avz --delete --dry-run /path/to/source/ /path/to/destination/
Toont welke wijzigingen zouden plaatsvinden zonder daadwerkelijk bestanden te verzenden of te verwijderen. Het is altijd goed om dit voor belangrijke synchronisaties te gebruiken.
Synchronisatie met een andere SSH-poort
rsync -avz -e "ssh -p 2222" /local/src/ user@remote_host:/remote/dest/
Synchroniseer bestanden met de externe server met poort 2222 in plaats van de standaard SSH-poort (22).