rsync

Hoe rsync te gebruiken om bestanden te kopiëren

Hoe rsync te gebruiken om bestanden te kopiëren
Rsync is een opdrachtregelprogramma in Linux dat wordt gebruikt om bestanden van een bronlocatie naar een bestemmingslocatie te kopiëren. U kunt bestanden, mappen en het volledige bestandssysteem kopiëren en de bestanden tussen verschillende mappen synchroniseren. Het doet meer dan alleen de bestanden kopiëren. Het vermindert de hoeveelheid gegevens die via het netwerk wordt verzonden door alleen de bestanden te verzenden die nieuw of bijgewerkt zijn. Daarom wordt het beschouwd als een geweldig hulpprogramma voor het kopiëren en back-uppen van bestanden. Rsync ondersteunt ook het kopiëren van bestanden naar een extern systeem via SSH.

In dit artikel leggen we uit hoe je rsync kunt gebruiken om bestanden te kopiëren met enkele praktische voorbeelden. We zullen ook het gebruik van rsync uitleggen bij het kopiëren van een enkel bestand, meerdere bestanden en directory naar zowel lokale als externe systemen. We zullen bespreken hoe u Rsync kunt gebruiken om:

We hebben de in dit artikel genoemde commando's en procedure uitgelegd op een Ubuntu 20.04 LTS. U hebt de opdrachtregelterminal nodig om bestanden te kopiëren met rsync. Om de opdrachtregel Terminal-toepassing te openen, gebruikt u de sneltoets Ctrl+Alt+T.

Rsync . installeren

Rsync is vooraf geïnstalleerd in Ubuntu 20.04 LTS. Als het echter per ongeluk van het systeem wordt verwijderd, kunt u het als volgt installeren:

$ sudo apt install rsync

Hier zijn enkele van de veelgebruikte opties die kunnen worden gebruikt met rsync:

-a: archiefmodus
-v: toont details van het kopieerproces
-p: toont de voortgangsbalk
-r: kopieert gegevens recursief
-z: comprimeert gegevens
-q: output onderdrukken

Kopieer bestanden en mappen lokaal

De algemene syntaxis van rsync is:

$ rsync [optie] [bron] [bestemming]

Kopieer een enkel bestand lokaal

Als u een bestand van de ene naar de andere locatie binnen uw systeem wilt kopiëren, kunt u dit doen door te typen rsync gevolgd door de naam van het bronbestand en de doelmap.

Om bijvoorbeeld een enkel bestand "file1" te kopiëren.txt" van de huidige locatie die de Home-map is naar de ~/Documents-map, zou de opdracht zijn:

$ rsync /home/tin/file1.txt /home/blik/Documenten

Opmerking: in plaats van "/home/tin/file1".txt", kunnen we ook "file1" typen omdat we momenteel in de homedirectory werken. We kunnen ook ~/Documents gebruiken in plaats van het volledige pad te vermelden als "/home/tin/Documents".

Meerdere bestanden lokaal kopiëren files

Als u meerdere bestanden tegelijk van de ene naar de andere locatie binnen uw systeem wilt kopiëren, kunt u dit doen door te typen rsync gevolgd door de naam van de bronbestanden en de doelmap.

Om bijvoorbeeld de bestanden "file2" te kopiëren.txt" en "file3".txt" van de hoofdmap naar de map ~/Documents, zou de opdracht zijn:

$ rsync /home/tin/file2.txt /home/tin/file3.txt /home/tin/Documenten

Om alle bestanden met dezelfde extensie te kopiëren, kunt u een sterretje (*) gebruiken in plaats van de bestandsnamen afzonderlijk op te geven. Om bijvoorbeeld alle bestanden uit de Home-map te kopiëren die eindigen op “.zip” extensie naar de ~/Documents directory, zullen we gebruiken:

$ rsync /home/tin/*.zip ~/Documenten

Kopieer mappen lokaal

Als u een map met zijn submap en alle inhoud van de ene naar de andere locatie binnen uw systeem wilt kopiëren, kunt u dit doen door te typen rsync gevolgd door de bron- en doelmap.

Om bijvoorbeeld de map "sample" naar de map "test/" in de Home-map te kopiëren, zou de opdracht zijn:

$ rsync -av /home/tin/sample /home/tin/test

Opmerking: Door "/" op te geven na de bronmap wordt alleen de inhoud van de map gekopieerd. Als we de "/" na de bronmap niet specificeren, wordt de bronmap ook gekopieerd naar de doelmap.

Zoals in de volgende uitvoer, kun je zien dat onze bronmap "sample" ook naar de doelmap wordt gekopieerd (omdat we "sample" hebben gebruikt in plaats van "sample/" als bronmap).

Rsync ondersteunt incrementele overdracht, zoals u in de bovenstaande uitvoer kunt zien dat het alleen de bestanden overdraagt ​​​​die nieuw of bijgewerkt zijn.

Bestanden kopiëren op basis van maximale grootte

Tijdens het kopiëren kunnen we ook de maximale grootte van bestanden specificeren die gekopieerd kunnen worden met de “-max-size” optie. Als u bijvoorbeeld bestanden wilt kopiëren die niet groter zijn dan 2000k van ~/Downloads naar de map ~/Documents, zou de opdracht zijn:

$ rsync -a --max-size=2000k /home/tin/Downloads/* /home/tin/Documents

Deze opdracht kopieert alle bestanden van ~/Downloads naar de map ~/Documents, behalve de bestanden die groter zijn dan 2000k.

Bestanden kopiëren op basis van minimale grootte

Op dezelfde manier kunnen we ook de minimale grootte van bestanden specificeren die gekopieerd kunnen worden met de “-min-size” optie. Om bijvoorbeeld de bestanden van niet minder dan 5M te kopiëren van ~/Downloads naar de map ~/Documents, zou de opdracht zijn:

$ rsync -a --min-size=5M /home/tin/Downloads/ /home/tin/Documents

Deze opdracht kopieert alle bestanden van ~/Downloads naar de map ~/Documents, behalve die kleiner dan 5M.

Bestanden uitsluiten

Tijdens het kopiëren van bestanden van de ene map naar de andere, kunt u sommige bestanden uitsluiten met de optie "-exclude" gevolgd door de bestandsnaam of de extensie van het bestandstype.

Om bijvoorbeeld alle . uit te sluiten .zip-bestanden tijdens het kopiëren van bestanden van ~/Downloads naar de map ~/Documents, zou de opdracht zijn:

$ rsync -a --exclude="*.zip" /home/tin/Downloads/ /home/tin/Documents

Kopieer bestanden en mappen op afstand

Met Rsync kunt u een enkel bestand, meerdere bestanden en mappen naar een extern systeem kopiëren. Voor het op afstand kopiëren van bestanden en mappen heeft u het volgende nodig:

Voordat u bestanden kopieert met rsync, moet u ervoor zorgen dat u via SSH toegang hebt tot het externe systeem:

$ ssh remote_user@remote_ip


De algemene syntaxis voor het kopiëren van bestanden en mappen naar een extern systeem met rsync:

$ rsync [optie] [bron] [remoteuser@remoteip:bestemming]

Om bijvoorbeeld een enkel bestand "bestand" te kopiëren.txt" van ~/Downloads naar de map ~/Documents van het externe systeem, zou de opdracht zijn:

$ rsync -v ~/Downloads/bestand1.txt [email protected]:~/Documenten

Op dezelfde manier kopieert u de map "~/Downloads/files" in een lokaal systeem met zijn submap en alle inhoud naar de map "~/Downloads/samples" op het externe systeem:

$ rsync -rv ~/Downloads/bestanden [email protected]:~/Downloads/voorbeelden

U kunt ook de bestanden en mappen kopiëren van de externe computer naar uw lokale computer. Om bijvoorbeeld een "file2" te kopiëren.txt" van het externe systeem naar het lokale systeembureaublad:

$ rsync -v [email protected]:~/Downloads/bestand2.txt ~/Bureaublad/

Evenzo, om een ​​map van het externe systeem naar het lokale systeem te kopiëren:

$ rsync -rv [email protected]:~/Downloads/voorbeeld ~/Desktop/test

U kunt ook alle opties gebruiken, zoals -max-size, -min-size, -exclude en andere tijdens het kopiëren van bestanden van/naar het externe systeem.

Rsync is een geweldige tool voor het kopiëren van bestanden van bron naar bestemming, zowel lokaal als op afstand. Het bevat een groot aantal opties die u flexibiliteit en controle geven tijdens het overbrengen van bestanden van/naar het externe systeem.

Gratis en open source game-engines voor het ontwikkelen van Linux-games
Dit artikel behandelt een lijst met gratis en open source game-engines die kunnen worden gebruikt voor het ontwikkelen van 2D- en 3D-games op Linux. E...
Shadow of the Tomb Raider voor Linux-zelfstudie
Shadow of the Tomb Raider is de twaalfde toevoeging aan de Tomb Raider-serie - een actie-avonturengame-franchise gemaakt door Eidos Montreal. De game ...
Hoe FPS te verhogen in Linux?
FPS staat voor Beelden per seconde. De taak van FPS is om de framesnelheid te meten bij het afspelen van video's of speluitvoeringen. In eenvoudige wo...