Articles

hoe Rsync-opdracht te gebruiken om bestanden te kopiëren op Ubuntu

rsync is een hulpmiddel voor het kopiëren van bestanden. rsync wordt gebruikt om bestanden te kopiëren van uw computer naar een externe machine, van een externe machine naar uw computer, van een map naar een andere map op dezelfde computer, van uw computer naar een externe harde schijf of netwerk share etc. rsync kan ook worden gebruikt om incrementele back-ups te maken.

in dit artikel zal ik je laten zien hoe je het rsync commando gebruikt om bestanden en mappen te kopiëren en incrementele back-ups te maken. Ik zal Ubuntu gebruiken voor de demonstratie. Maar elke moderne Linux distributie zou prima moeten werken. Dus, laten we beginnen.

Rsync installeren:

rsync zou al geïnstalleerd moeten zijn op Ubuntu. Maar, als het niet geïnstalleerd op uw computer, u kunt het makkelijk installeren van de officiële package repository van Ubuntu met het volgende commando:

$ sudo apt-install rsync -y

Formaat van het rsync Commando:

het basisformaat van het rsync-commando is:

$ rsync-opties brondoel
  • bron kan een bestand of een map of een netwerkpad zijn.
  • bestemming kan een map of een netwerkpad zijn.
  • rsync heeft veel opties. Met deze opties kunt u het gedrag van rsync wijzigen. We zullen een kijkje nemen op een aantal van de meest voorkomende opties langs de weg.

wanneer u rsync gebruikt, moet u de volgende dingen weten:

  • Als u een / achter de mapnaam in de broncode van rsync plaatst, zoals myfiles/, betekent dit dat alle bestanden vanuit de map alleen naar de bestemming worden gekopieerd.
  • Als u geen / achter de mapnaam in de broncode van rsync plaatst, zoals myfiles, dan zal rsync alle bestanden van de map naar de bestemming kopiëren, inclusief de map.
  • Als u een pad naar een doelmap typt dat niet bestaat, dan zal rsync het automatisch aanmaken zoals vereist.

back-ups maken van lokale bestanden en mappen met rsync:

u kunt bestanden van de ene map naar een andere map op uw computer heel snel kopiëren met rsync.

bijvoorbeeld, laten we zeggen, Je hebt een aantal belangrijke bestanden in de ~/Downloads directory. Nu wilt u een back-up maken van alle bestanden uit de map ~/Downloads naar uw USB-stick / dev /sdb1 die in de map/mnt / myusb is aangekoppeld.

laten we wat dummy bestanden maken in de ~/Downloads map.

$ touch ~ / Downloads / test{1..100}

Nu, kopieer alle bestanden van de ~/Downloads map /mnt/myusb directory met de volgende rsync commando:

$ rsync -avzh ~/Downloads/ /mnt/myusb

De bestanden moeten worden gekopieerd.

zoals u kunt zien, bevinden de bestanden zich in de map /mnt/myusb.

U kunt ook het kopiëren van de hele ~/Downloads map op uw USB-stick als volgt:

$ rsync -avzh ~/Downloads /mnt/myusb

Zoals je kan zien, is de hele map is gekopieerd naar de USB-stick.

Nogmaals, als je wilde kopieer alle bestanden van de ~/Downloads map naar een andere map (laten we zeggen mydownloads/) op uw USB-stick uitvoeren rsync als volgt:

$ rsync -avzh ~/Downloads/ /mnt/myusb/mydownloads

Zoals u kunt zien, de bestanden correct zijn gekopieerd naar de USB-stick.

back-uppen van bestanden en mappen op afstand met rsync:

met rsync kunt u bestanden en mappen kopiëren van een externe server naar uw lokale bestandssysteem of USB-stick voor back-updoeleinden. U kunt ook bestanden en mappen kopiëren van uw lokale bestandssysteem naar uw externe back-upserver. rsync gebruikt SSH voor het kopiëren van bestanden en mappen naar/VAN server op afstand.

u moet SSH server package (openssh-server op Ubuntu) en rsync package geïnstalleerd hebben op de externe server als u rsync wilt gebruiken voor back-updoeleinden van bestanden.

bijvoorbeeld, laten we zeggen dat u alle inhoud (inclusief de map) van de / www map wilt kopiëren vanaf uw externe server www.example1.com naar uw USB-stick gekoppeld aan het pad / mnt / myusb op uw lokale bestandssysteem.

om dat te doen, kunt u het volgende rsync commando gebruiken:

$ rsync-avzh [email protected]:/www /mnt/myusb

opmerking: Hier is root de gebruikersnaam op afstand, www.example1.com is de DNS-naam van de externe server en /www is een mappad op de externe server. U kunt ook het IP-adres van de externe server gebruiken in plaats van de DNS-naam als u dat wilt.

u kunt het volgende bericht zien als u voor de eerste keer verbinding maakt met de externe server. Typ gewoon ja in en druk vervolgens op <Enter>.

Typ nu het wachtwoord voor de externe gebruiker (in mijn geval is het root) en druk op <Enter>.

alle bestanden en mappen in de map /www, inclusief de map /www, moeten worden gekopieerd naar de USB-stick zoals u kunt zien in de screenshot hieronder.

u kunt ook bestanden van uw lokale bestandssysteem naar uw externe server kopiëren met rsync.

in het vorige voorbeeld heb je een back-up gemaakt van de map / www op de server op afstand. Nu, laten we zeggen, een aantal van de bestanden in de externe server is beschadigd en u wilt ze herstellen van de back-up.

om dat te doen, voer je het rsync commando als volgt uit:

$ rsync-avzh /mnt/myusb/www/ [email protected]:/www

Typ nu het wachtwoord van uw externe server en druk op<Enter >.

de bestanden moeten worden gekopieerd van uw lokale bestandssysteem naar de server op afstand.

incrementele back-ups maken met rsync:

In dit type back-up worden de bron-en doelmappen gesynchroniseerd gehouden. Als een bestand aan de brondirectory wordt toegevoegd, wordt het ook aan de bestemmingsdirectory toegevoegd. Op dezelfde manier, als een bestand of map uit de bronmap wordt verwijderd, is het ook verwijderd uit de doelmap.

rsync is een geweldig hulpmiddel voor het nemen van incrementele back-up.

laten we zeggen dat je een map ~/cloud hebt in de persoonlijke map van je gebruiker. Nu, u wilt incrementele back-up van de map naar een USB-stick gemonteerd op het pad /mnt/usb1 op een externe server backup.example.com.

opmerking: Je moet openssh-server en rsync pakketten geïnstalleerd hebben op je remote server om dit te laten werken.

Om incrementele back-up van de ~/cloud, voer je het volgende commando:

$ rsync -avzh –delete –progress ~/cloud/ [email protected]:/mnt/usb1/backup

Nu, typ het wachtwoord voor de gebruiker op afstand en druk op <Enter>.

de inhoud van de ~/cloud-map moet worden gekopieerd naar de USB-stick op de externe server.

zoals u kunt zien, worden alle bestanden gekopieerd naar de USB-stick die op de externe back-upserver is gemonteerd.

laten we nu een bestand uit het lokale bestandssysteem verwijderen en kijken wat er gebeurt.

$ rm ~/cloud/packages.txt

Gebruik nu rsync om de mappen opnieuw te synchroniseren met hetzelfde commando als hiervoor.

$ rsync-avzh — delete — progress ~/cloud/ [email protected]:/mnt/usb1/backup

zoals u kunt zien, de bestandspakketten.txt wordt ook verwijderd van de USB-stick gemonteerd op de externe back-up server.

waar naar toe volgende:

U kunt meer informatie over rsync vinden in de manpage van rsync. De manpage van rsync heeft een gedetailleerde beschrijving van alle opties van rsync. Ik raad je ten zeerste aan om dat te controleren.

u kunt de manpage van rsync Openen met het volgende commando:

$ man rsync

zo gebruik je rsync om bestanden te kopiëren en incrementele back-ups te maken op Ubuntu. Bedankt voor het lezen van dit artikel.