Kako uporabiti ukaz rsync za kopiranje datotek v Ubuntu

How Use Rsync Command Copy Files Ubuntu



rsync je orodje za kopiranje datotek. rsync se uporablja za kopiranje datotek iz vašega računalnika na oddaljeni računalnik, z oddaljenega računalnika na vaš računalnik, iz imenika v drug imenik v istem računalniku, iz vašega računalnika na zunanji trdi disk ali v skupno rabo omrežja itd. rsync je lahko tudi uporablja za postopno varnostno kopiranje.

V tem članku vam bom pokazal, kako z ukazom rsync kopirati datoteke in imenike ter narediti postopno varnostno kopiranje. Za predstavitev bom uporabil Ubuntu. Toda vsaka sodobna distribucija Linuxa bi morala delovati v redu. Torej, začnimo.







Namestitev rsync:

rsync bi moral biti že nameščen na Ubuntu. Če pa iz nekega razloga ni nameščen na vašem računalniku, ga lahko preprosto namestite iz uradnega skladišča paketov Ubuntu z naslednjim ukazom:



$sudoaptnamestitersync-in



Oblika ukaza rsync:

Osnovna oblika ukaza rsync je,





$možnosti rsyncvircilj
  • vir lahko datoteka, imenik ali omrežna pot.
  • cilj je lahko imenik ali omrežna pot.
  • rsync ima veliko možnosti. S temi možnostmi lahko spremenite vedenje rsync. Na poti bomo pogledali nekaj najpogostejših možnosti.

Ko uporabljate rsync, morate vedeti naslednje:

  • Če postavite a / za imenom imenika v vir rsync, kot so myfiles/ , potem pomeni, da vse datoteke iz imenika kopirate samo v cilj .
  • Če ne postavite a / za imenom imenika v vir rsync, kot so myfiles , potem bo rsync vse datoteke iz imenika kopiral v cilj vključno z imenikom.
  • Če vnesete a cilj imenika, ki ne obstaja, ga bo rsync po potrebi samodejno ustvaril.

Varnostno kopiranje lokalnih datotek in imenikov z rsync:

Z njim lahko zelo hitro kopirate datoteke iz enega imenika v drug imenik v računalniku rsync .



Recimo, da imate v datoteki nekaj pomembnih datotek ~/Prenosi imenik. Zdaj želite varnostno kopirati vse datoteke iz ~/Prenosi imenik na USB -pogon /dev/sdb1 nameščen v imenik / mnt / myusb .

Naredimo nekaj lažnih datotek v ~/Prenosi imenik.

$dotik~/Prenosi/preskus{1..100}

Zdaj kopirajte vse datoteke iz ~/Prenosi imenik v / mnt / myusb imenik z naslednjim ukazom rsync:

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

Datoteke je treba kopirati.

Kot lahko vidite, so datoteke v / mnt / myusb imenik.

Lahko tudi kopirate celoto ~/Prenosi imenik na USB -pogon:

$rsync-avzh~/Prenosi/mnt/myusb

Kot lahko vidite, se celoten imenik kopira na USB -pogon.

Še enkrat, če želite kopirati vse datoteke iz ~/Prenosi imenik v drug imenik (recimo mydownloads/) na bliskovnem pogonu USB zaženite rsync na naslednji način:

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

Kot lahko vidite, so datoteke pravilno kopirane na USB -pogon.

Varnostno kopiranje oddaljenih datotek in imenikov z rsync:

Z rsync lahko kopirate datoteke in imenike z oddaljenega strežnika v lokalni datotečni sistem ali pogon USB za varnostno kopiranje. Lahko tudi kopirate datoteke in imenike iz lokalnega datotečnega sistema na oddaljeni strežnik za varnostno kopiranje. rsync uporablja SSH za kopiranje datotek in imenikov na oddaljeni strežnik.

Imeti morate paket strežnika SSH ( openssh-strežnik na Ubuntu) in rsync paket, nameščen na oddaljenem strežniku, če želite uporabiti rsync za varnostno kopiranje datotek.

Na primer, recimo, želite kopirati vso vsebino (vključno z imenikom) datoteke /www imenik z oddaljenega strežnika www.primer1.com na USB -pogon USB, nameščen na poti / mnt / myusb v vašem lokalnem datotečnem sistemu.

Če želite to narediti, uporabite naslednji ukaz rsync:

$rsync-avzhkoren@www.primer1.com:/www/mnt/myusb

OPOMBA: Tukaj, koren je oddaljeno uporabniško ime, www.primer1.com je ime DNS oddaljenega strežnika in /www je pot imenika na oddaljenem strežniku. Če želite, lahko namesto imena DNS uporabite tudi naslov IP oddaljenega strežnika.

To sporočilo se lahko prikaže, če se prvič povežete z oddaljenim strežnikom. Samo vnesite da in nato pritisnite .

Zdaj vnesite geslo za oddaljenega uporabnika (v mojem primeru je tako koren ) in pritisnite .

Vse datoteke in imeniki v /www imenik, vključno z imenikom /www je treba kopirati na USB -pogon, kot vidite na spodnji sliki zaslona.

Z rsync lahko tudi kopirate datoteke iz lokalnega datotečnega sistema na oddaljeni strežnik.

V prejšnjem primeru ste naredili varnostno kopijo datoteke /www imenik na oddaljenem strežniku. Recimo, da so nekatere datoteke na oddaljenem strežniku poškodovane in jih želite obnoviti iz varnostne kopije.

Če želite to narediti, zaženite ukaz rsync na naslednji način:

$rsync-avzh /mnt/myusb/www/koren@www.primer1.com:/www

Zdaj vnesite geslo oddaljenega strežnika in pritisnite .

Datoteke je treba kopirati iz lokalnega datotečnega sistema na oddaljeni strežnik.

Dodatno varnostno kopiranje z rsync:

Pri tej vrsti varnostnega kopiranja je vir in cilj imeniki so sinhronizirani. Če je v datoteko dodana katera koli datoteka vir imenik, je dodan v cilj imenik tudi. Na enak način, če obstaja katera koli datoteka ali imenik iz vir imenik je odstranjen, odstranjen je iz cilj imenik tudi.

rsync je odlično orodje za postopno varnostno kopiranje.

Recimo, da imate imenik ~/cloud v vaših uporabnikih DOMA imenik. Zdaj želite narediti postopno varnostno kopiranje imenika na pogon USB, nameščen na poti / mnt / usb1 na oddaljenem strežniku backup.example.com .

OPOMBA: Moraš imeti openssh-strežnik in rsync paketov, nameščenih na vašem oddaljenem strežniku, da to deluje.

Če želite narediti varnostno kopijo datoteke ~/cloud , zaženite naslednji ukaz:

$rsync-avzh -izbrisati -napredek~/oblak/shovon@backup.example.com:/mnt/usb1/rezerva

Zdaj vnesite geslo za oddaljenega uporabnika in pritisnite .

Vsebina ~/cloud imenik je treba kopirati na pogon USB na oddaljenem strežniku.

Kot vidite, se vse datoteke kopirajo na pogon USB, nameščen na oddaljenem strežniku za varnostno kopiranje.

Zdaj odstranimo datoteko iz lokalnega datotečnega sistema in poglejmo, kaj se zgodi.

$rm~/oblak/packages.txt

Zdaj uporabite rsync za ponovno sinhronizacijo imenikov z istim ukazom kot prej.

$rsync-avzh -izbrisati -napredek~/oblak/shovon@backup.example.com:/mnt/usb1/rezerva

Kot lahko vidite, datoteka packages.txt je tudi odstranjen s pogona USB, nameščenega na oddaljenem varnostnem strežniku.

Kam naprej:

Več informacij o rsync najdete na glavni strani rsync. Na glavni strani rsync je podroben opis vseh možnosti rsync. Toplo priporočam, da to preverite.

Do strani man rsync lahko dostopate z naslednjim ukazom:

$človekrsync

Torej, tako uporabljate rsync za kopiranje datotek in postopno varnostno kopiranje v Ubuntuju. Hvala, ker ste prebrali ta članek.