rsync

Directory Rsync uitsluiten?

Directory Rsync uitsluiten?
Rsync (staat voor remote sync) is een zeer krachtig opdrachtregelprogramma voor lokale en externe synchronisatie van bestanden en mappen. Het is voorgeïnstalleerd op de meeste Linux-distributies. Het is een van de beste hulpprogramma's voor het maken van back-ups en het synchroon houden van bestanden en mappen op meerdere locaties. Het beste van rsync is dat het de hoeveelheid gegevens die naar de externe locatie wordt gekopieerd, minimaliseert door alleen de gegevens te kopiëren die zijn gewijzigd. Er is nog een geweldige functie van rsync die we vandaag gaan bespreken; het sluit bestanden of mappen uit van synchronisatie. Dit is erg handig tijdens het maken van back-ups wanneer u een of meer bestanden of mappen niet wilt kopiëren.

We laten u aan de hand van verschillende voorbeelden zien hoe u een bestand of map in rsync kunt uitsluiten. De hier gepresenteerde voorbeelden zijn getest op Ubuntu 20.04 LTS, deze zijn echter ook geldig voor andere Linux-distributies waarop rsync is geïnstalleerd.

Een specifiek bestand uitsluiten

Tijdens het synchroniseren van een map, wil je misschien een specifiek bestand erin uitsluiten. U kunt dit doen met de optie -exclude gevolgd door de bestandsnaam tussen komma's.

De syntaxis van de opdracht zal zijn:

$ rsync -a --exclude 'bestandsnaam' source_directory/ destination_directory/

Hier, een optie wordt gebruikt voor recursieve synchronisatie.

Om bijvoorbeeld een bestand met de naam . uit te sluiten monster.tekst van de bron tijdens het synchroniseren src_dir en dest_dir, het commando zou zijn:

$ rsync -a --exclude 'voorbeeld'.txt' src_dir/ dest_dir/

Een specifieke directory uitsluiten

Gebruik de volgende syntaxis om een ​​specifieke map (inclusief de submappen) van de bron uit te sluiten bij het synchroniseren van de bron- en de doelmappen:

$ rsync -a --exclude 'directory_name' src_dir/ dest_dir/

Om bijvoorbeeld een map met de naam . uit te sluiten voorbeeldmap bij het synchroniseren van de src_dir en dest_dir, het commando zou zijn:

$ rsync -a --exclude 'sampledir' src_dir/ dest_dir/

Als u de inhoud van de map wilt uitsluiten, maar niet de map zelf, gebruik dan de mapnaam gevolgd door /*:

$ rsync -a --exclude 'sampledir/* ' src_dir/ dest_dir/

De bovenstaande opdracht kopieert alleen de map naar de bestemming, maar niet de inhoud ervan.

Meerdere bestanden of mappen uitsluiten

Om meerdere bestanden of mappen uit te sluiten tijdens het synchronisatieproces, specificeert u ze allemaal als volgt:

$ rsync -a --exclude 'bestandsnaam' --exclude 'directory1 --exclude 'directory2' src_dir/dest_dir/

In plaats van te specificeren -uitsluiten optie afzonderlijk voor elk bestand of elke map, kunt u een enkele -uitsluiten optie door alle bestanden of mappen tussen accolades op te geven.

$ rsync -a --exclude='file_name' ,'directory1','directory2' src_dir/dest_dir/

Een andere optie om meerdere bestanden of mappen uit te sluiten, is door ze in een bestand op te nemen en vervolgens de bestandsnaam door te geven aan de -Uitsluiten van keuze:

$ rsync -a --exclude-from 'list' src_dir/ dest_dir/

Hier bevat de "lijst" de naam van het bestand en de mappen die we willen uitsluiten. Deze opdracht synchroniseert src_dir met de dest_dir terwijl de bestanden en mappen die in het "lijst" -bestand worden vermeld, worden uitgesloten.

Bestanden of mappen uitsluiten die overeenkomen met een patroon

Met rsync kunt u ook bestanden of mappen uitsluiten die overeenkomen met een specifiek patroon. Als u bijvoorbeeld een map synchroniseert, wilt u misschien alle bestanden uitsluiten die eindigen op a .tekst uitbreiding. De opdracht zou in dit geval zijn:

$ rsync -a --exclude '*.txt' src_dir/ dest_dir/

Een bestand uitsluiten op grootte

Met rsync kun je bestanden uitsluiten op basis van hun minimale of maximale grootte. Hier gebruiken we de optie -exclude niet, maar de -max-size= of -min-grootte== opties op basis van respectievelijk de maximale en minimale grootte.

Hier is de lijst van onze src_dir die bestandsnamen samen met hun grootte in MB toont.

Laten we zeggen dat we alle bestanden naar de dest_dir willen synchroniseren, behalve die met een grootte groter dan 100 MB. In dit geval zou de opdracht zijn:

$ rsync -av --max-size=100m src_dir/ dest_dir/

Evenzo, om bestanden uit te sluiten die kleiner zijn dan een specifieke grootte, laten we zeggen 50 MB, zou de opdracht zijn:

$ rsync -av --min-size=50m src_dir/ dest_dir/

Conclusie

Dat is alles wat er is! In dit bericht hebben we verschillende voorbeelden besproken om een ​​bestand of een map in rsync uit te sluiten. We hebben laten zien hoe u een enkel bestand of map, meerdere bestanden en mappen, bestanden die overeenkomen met een specifiek patroon en de bestanden kan uitsluiten op basis van hun minimum/maximum grootte.

Handige hulpmiddelen voor Linux-gamers
Als je graag games op Linux speelt, is de kans groot dat je apps en hulpprogramma's zoals Wine, Lutris en OBS Studio hebt gebruikt om de game-ervaring...
HD Remastered Games voor Linux die nog nooit eerder een Linux-release hebben gehad
Veel game-ontwikkelaars en uitgevers komen met HD-remaster van oude games om de levensduur van franchise te verlengen, fans die compatibiliteit met mo...
Hoe AutoKey te gebruiken om Linux-spellen te automatiseren
AutoKey is een hulpprogramma voor desktopautomatisering voor Linux en X11, geprogrammeerd in Python 3, GTK en Qt. Met behulp van de scripting- en MACR...