Terminal Tuts

Top 20 Rsync-voorbeelden in Linux

Top 20 Rsync-voorbeelden in Linux

De opdracht Rsync (synchronisatie op afstand) is een Linux/Unix-hulpprogramma dat wordt gebruikt om bestanden en mappen lokaal of op afstand te synchroniseren en te kopiëren. De meeste Linux-nerds gebruiken Rsync om gegevens te spiegelen, back-uppen of migreren tussen mappen, schijven en netwerken. Een opvallend kenmerk van het Rsync-commando is dat het het "delta-overdrachtsalgoritme" gebruikt.”

Het Delta Transfer-algoritme werkt door de bestemmingsmap bij te werken met de inhoud van de bronbestemming. Als er een wijziging of een nieuw bestand wordt gemaakt in de bronmap, wordt alleen de specifieke wijziging gekopieerd naar de doelmap wanneer u de opdracht Rsync uitvoert. Om bestanden en mappen tussen de lokale en een externe machine te synchroniseren, maakt Rsync gebruik van SSH.

Rsync installeren in Linux

De opdracht Rsync is vooraf geïnstalleerd in de meeste Linux-besturingssystemen. Dit is echter mogelijk niet het geval voor sommige minimale installaties. U kunt Rsync installeren door de onderstaande opdrachten in een terminal uit te voeren:.

Op CentOS & RHEL

yum installeer rsync -y

Op Ubuntu en andere Debian-distributies

sudo apt installeer rsync -y

Rsync Basic-syntaxis

rsync opties bronbestemming

Enkele van de standaardopties/parameters die worden gebruikt met de Rsync-opdracht:

-v: -uitgebreide uitgebreide uitvoer
-r: kopieert gegevens recursief
-z: bestandsgegevens comprimeren
-h: Geeft uitvoer in een door mensen leesbaar formaat
-a: bestanden en directory archiveren tijdens het synchroniseren
-voortgang Toont de voortgang van de Rsync-taken die momenteel worden uitgevoerd.

U kunt alle beschikbare opties voor het Rsync-commando zien met behulp van de "-help" optie.

$ rsync --help

Rsync help-opdracht

Top 20 Rsync-voorbeelden in Linux

Laten we, met die gedetailleerde informatie in gedachten, beginnen met 20 handige Rsync-voorbeeldopdrachten die u kunt gebruiken met Linux-systemen. Ons favoriete besturingssysteem is Ubuntu 20.04 LTS; de syntaxis zou echter ook moeten werken voor andere Linux-distributies waarop Rsync is geïnstalleerd.

1. Kopieer/Sync bestanden lokaal met -v (uitgebreide) optie

Dat is het meest elementaire Rsync-commando, zelfs voor een nieuweling. In dit voorbeeld zullen we bestanden kopiëren tussen de 'Origineel' map op het bureaublad naar de 'Back-up' map in de '/etc.' map. We zullen de -v (Uitgebreide) optie toevoegen zodat rsync informatie kan geven over wat er aan de hand is.

rsync -v Origineel/

rsync -v (uitgebreide) opdracht

Een ding om op te merken met Rsync is dat, als de doelmap niet bestaat, deze deze automatisch zal maken. Laten we het onderstaande voorbeeld bekijken waar we bestanden naar de map willen kopiëren “foss"dat bestaat niet".

Maak een map met Rsync

2. Sync/Kopieer bestanden en mappen recursief met -r optie

In de bovenstaande opdracht, als er een map aanwezig was in de 'Origineel' map, wordt deze overgeslagen. Dat wordt geïllustreerd in de afbeelding hieronder.

Basis Rsync-opdracht

Om dit te verhelpen, gebruikt u de -r (recursieve) optie.

Bestanden recursief synchroniseren met -r

3. Bestanden synchroniseren/kopiëren tussen de lokale machine en de externe machine

Voordat u deze taak uitvoert, zijn er verschillende parameters die u moet weten over de externe server/machine: het IP-adres, de gebruikersnaam en het gebruikerswachtwoord.

De basissyntaxis die we zullen gebruiken is:

rsync [opties] [bestanden] [externe gebruikersnaam]@[ip-adres]:/[bestemming]

Laten we bestanden kopiëren van onze 'Origineel' map op het bureaublad naar een externe server.

Synchroniseer/kopieer bestanden op afstand met Rsync

4. Synchroniseer/kopieer bestanden en mappen van een externe server naar uw lokale pc

Net als bij het vorige commando, moeten we het IP-adres van de externe server weten. In dit voorbeeld zullen we bestanden synchroniseren in de 'Back-up' map in de thuismap van de server naar onze lokale pc.

rsync -rv [email protected]:/home/tuts/Back-up /home/tuts/Desktop/Origineel

Sync-Kopieer bestand van een externe server naar een lokale machine

5. Gebruik Rsync over SSH met de -e optie

Om de veiligheid van bestanden en mappen te garanderen, gebruiken we het Rsync over Secure Shell Protocol (SSH). Bovendien zal SSH bij het verstrekken van het root-/gebruikerswachtwoord coderingsservices leveren, zodat ze veilig zijn.

Om SSH te gebruiken, voegen we de -e optie toe die het protocol specificeert dat we willen gebruiken.

 rsync -vre ssh Origineel/* [email protected]:/home/tuts

Gebruik Rsync via SSH

6. Voortgang weergeven met Rsync-opdracht

In situaties waarin u meerdere bestanden of een enorm bestand kopieert, zou het efficiënt zijn om de voortgang te kennen. Gelukkig beschikt rsync over deze optie -de '-vooruitgang' keuze.

sudo rsync -rv --progress Origineel/* /etc/Foss

Voortgang weergeven met Rsync

7. Gebruik Rsync met de optie '-include'

Er zijn situaties waarin u alleen bepaalde bestanden wilt synchroniseren. Met het Rsync-commando veroorzaakt u de '-omvatten' optie om de taak uit te voeren. In dit voorbeeld synchroniseren we alleen bestanden die beginnen met de letter 'I'.

sudo rsync -vr --include 'I*' Original/ /etc/Backup/

Gebruik -include optie met Rsync

8. Gebruik Rsync met de optie '-exclude' om bepaalde bestanden te negeren

Met de Rsync'-uitsluiten' optie, kunt u bestanden uitsluiten die u niet wilt synchroniseren/kopiëren. In dit voorbeeld willen we alle bestanden negeren die beginnen met de letter 'I'.

sudo rsync -vr --exclude 'I*' Origineel/ /etc/Backup/

Gebruik Rsync met de optie '-exclude'

Als alternatief kunt u beide opties in één opdracht gebruiken. Zie het voorbeeld hieronder.

sudo rsync -vr --exclude '*' --include 'I*' Original/ /etc/Backup/

We sluiten alle bestanden uit, behalve bestanden die beginnen met de letter 'I.'

Gebruik zowel -include als -exclude opties

9. Gebruik Rsync met -delete commando

Er zijn situaties waarin er bestanden aanwezig zijn in de doelmap, maar niet in de bronmap. Voor synchronisatie is het het beste om dergelijke bestanden eerst uit de doelmap te verwijderen. Gelukkig komt Rsync met de '-verwijderen' optie, die dit automatisch doet.

Als een bestand aanwezig is in de doelmap maar niet in de bron, wordt het verwijderd.

rsync -vr --delete /etc/Backup/ [email protected]:/home/tuts/Back-up

Gebruik Rsync met de optie voor verwijderen

10. Stel de maximale grootte van bestanden in om over te zetten met Rsync

Als u zich zorgen maakt over opslagruimte of bandbreedte voor bestandssynchronisatie op afstand, moet u de optie '-max-size' gebruiken met het Rsync-commando. Met deze optie kunt u de maximale grootte instellen van een bestand dat kan worden gekopieerd.

Bijvoorbeeld een '-max-grootte=100k' zal alleen gegevens overdragen die gelijk zijn aan of kleiner zijn dan 100 kilobytes.

rsync -vr --max-size='200k' /etc/Backup/ [email protected]:/home/tuts/Back-up

Max grootte instellen met de opdracht Rsync

11. Bronbestanden automatisch verwijderen na een succesvolle overdracht

Neem een ​​situatie waarin u een externe back-upserver en een back-upmap op uw pc hebt. U maakt een back-up van gegevens naar de back-upmap op uw pc voordat u deze synchroniseert met de back-upserver. Na elke synchronisatie moet u de gegevens in de back-upmap verwijderen.

Gelukkig kunt u dit automatisch doen met de '--verwijder-bronbestanden' keuze.

Bronbestanden verwijderen na een succesvolle overdracht

Door een 'ls'-opdracht uit te voeren in de bronmap, bevestigen we dat de bestanden inderdaad zijn verwijderd.

12. Voer een droge run uit met Rsync

Voor nieuwelingen die niet zeker zijn van het Rsync-commando, kun je de inhoud van je bestemmingsmap verknoeien, en ongedaan maken kan net zo vervelend zijn. Met de '-oefening' optie, het Rsync-commando geeft u een uitvoer van wat er zal worden uitgevoerd, maar het zal het niet doen.

Daarom kunt u naar deze uitvoer kijken als dit is wat u verwacht voordat u de '-oefening' keuze.

rsync -vr --dry-run Origineel/* [email protected]:/home/tuts/Back-up

Voer een droge run uit met Rsync

13. Bandbreedtelimiet instellen die vereist is om bestanden over te zetten.

Als u zich op een gedeeld netwerk bevindt of meerdere programma's uitvoert die een internetverbinding nodig hebben, zou het efficiënt zijn om een ​​bandbreedtelimiet in te stellen die vereist is om bestanden op afstand te synchroniseren/kopiëren. We kunnen dit doen met de Rsync'-bwlimit' keuze.

Dit tarief wordt berekend in kilobytes. Dus wanneer '-bwlimiet=1000' betekent dat er slechts 1000Kb per seconde kan worden overgedragen.

rsync -vr --bwlimit=1000 Origineel/* [email protected]:/home/tuts/Back-up

Bandbreedtelimiet instellen die vereist is om bestanden over te dragen

14. Synchroniseer de hele bestanden met Rsync

Standaard synchroniseert Rsync alleen de gewijzigde blokken en bytes. Als u dus eerder een tekstbestand had gesynchroniseerd en later tekst aan het bronbestand hebt toegevoegd tijdens het synchroniseren, wordt alleen de ingevoegde tekst gekopieerd. Als je het hele bestand opnieuw wilt synchroniseren, moet je de '-W'-optie gebruiken.

rsync -vrW Origineel/* [email protected]:/home/tuts/Back-up

Synchroniseer een heel bestand met Rsync

15. Gewijzigde bestanden niet synchroniseren/kopiëren in de doelmap

Er zijn situaties waarin u wijzigingen hebt aangebracht in bestanden die aanwezig zijn in de doelmap. Als u een Rsync-opdracht uitvoert, worden deze wijzigingen overschreven door die in het bronbestand. Om dit te vermijden, gebruik de '-u' optie.

rsync -vu Origineel/* [email protected]:/home/tuts/Back-up

Gebruik de 'u'-optie om te voorkomen dat bestanden in de doelmap worden gewijzigd

16. Gebruik Rsync met -i optie om het verschil in bestanden tussen bron en bestemming te zien

Als u wilt weten welke nieuwe wijzigingen er in de doelmap zullen worden aangebracht, gebruik dan de '-i'-optie, die het verschil in bestanden tussen de bron- en doelmap laat zien.

rsync -avzi Origineel/ Back-up/

Gebruik -i optie om het verschil in bestanden te zien

Vorm de uitvoer in de afbeelding hierboven en we zien een bestand met de naam 'heloo.py' niet aanwezig in de doelmap. Laten we eens kijken naar enkele van deze parameters.

d: toont een wijziging in het doelbestand
f: staat voor een bestand
t: toont een verandering in tijdstempels
s: geeft een wijziging in de grootte van een bestand aan

17. Gebruik Rsync om alleen de directorystructuur te kopiëren

U kunt Rsync gebruiken om alleen de mapstructuur te synchroniseren als u niet geïnteresseerd bent in de bestanden. We zullen de parameters -f”+ */” -f”- *” voor de brondirectory moeten gebruiken.

rsync -av -f"+ */" ​​-f"- *" /home/tuts/Desktop/Original/ /home/tuts/Documents/

Gebruik Rsync om een ​​directorystructuur te kopiëren

18. Datumstempel toevoegen aan directorynaam

Als u wilt bijhouden wanneer overdrachten hebben plaatsgevonden zonder mapeigenschappen te openen, kunt u eenvoudig een datum toevoegen aan een mapnaam. Dat zal een datumstempel toevoegen aan alle synchronisaties die u doet met Rsync.

Om dit te doen, zullen we toevoegen $(datum +\\%Y-\\%m-\\%d) naar de doelmap.

sudo rsync -rv Original/ /etc/$(date +\\%Y-\\%m-\\%d)

Een datumstempel toevoegen aan een directory

19. Kopieer een enkel bestand lokaal

Om een ​​enkel bestand te synchroniseren/kopiëren met Rsync, moet u het bestandspad specificeren gevolgd door het doelmappad.

rsync -v Origineel/heloo.py Back-up/

Een enkel bestand lokaal synchroniseren

20. Meerdere bestanden op afstand kopiëren

Om meerdere bestanden tegelijk te kopiëren, moet u het pad naar alle bestanden opgeven. Deze methode is efficiënt voor slechts een klein aantal bestanden.

rsync -vr /home/tuts/Desktop/Origineel/heloo.py /home/tuts/Desktop/Backup/index.html [email protected]:/home/tuts/Back-up

Meerdere bestanden tegelijk kopiëren

Dat is alles over de top 20 handige Rsync-voorbeelden waarmee u bestanden en mappen zowel lokaal als op afstand kunt synchroniseren. Voel je vrij om je feedback en opmerkingen hieronder achter te laten.

Strijd om Wesnoth 1.13.6 Ontwikkeling vrijgegeven
Strijd om Wesnoth 1.13.6 die vorige maand werd uitgebracht, is de zesde ontwikkelingsrelease in de 1.13.x-serie en het levert een aantal verbeteringen...
Hoe League Of Legends op Ubuntu 14 te installeren.04
Als je fan bent van League of Legends, dan is dit een kans voor jou om League of Legends te testen. Merk op dat LOL wordt ondersteund op PlayOnLinux a...
Installeer de nieuwste OpenRA Strategy Game op Ubuntu Linux
OpenRA is een Libre/Free Real Time Strategy-game-engine die de vroege Westwood-games nabootst, zoals de klassieke Command & Conquer: Red Alert. Gedist...