Hvernig á að flytja skrár á milli tveggja tölva með nc og pv skipunum


Hæ félagar Linux lesendur, ég er að færa þér enn eina frábæra grein frá minna þekktum Linux tólum okkar sem þú ættir að vita um.

Þessi grein mun útskýra hvernig þú flytur skrár á milli tveggja Linux tölva með því að nota nc (netkerfi) og pv (pipe viewer) skipanir, áður en lengra er haldið skal ég útskýra hvað eru þessar tvær skipanir.

nc stendur fyrir Netcat og bendir oft á að „Svissneskur herhnífur“ sé netverkfæri sem notað er til að kemba og rannsaka netkerfi og einnig er það notað til að búa til nettengingar með TCP eða UDP, gáttaskönnun, skráaflutningi og fleira. Það er búið til til að vera áreiðanlegt bakhlið og sérstaklega notað í forritum og forskriftum, þar sem það getur búið til næstum hvers kyns nettengingu og hefur fjölda innbyggðra eiginleika.

pv í stuttu máli Pipe Viewer er útstöðvar byggt tól til að fylgjast með framvindu gagna sem send eru í gegnum leiðslu, það gerir notanda kleift að sjá framvindu gagna með framvindustiku, sýnir liðinn tíma, prósentu lokið, núverandi afköst, heildargögn flutt og Áætlaður tími til að ljúka ferlinu.

Við skulum nú fara lengra og sjá hvernig við getum sameinað báðar skipanirnar til að flytja skrár á milli tveggja Linux tölva, í tilgangi þessarar greinar munum við nota tvær Linux vélar sem hér segir:

Machine A with IP : 192.168.0.4
Machine B with IP : 192.168.0.7

Aðstæður þar sem öryggi gagna er mikilvægara, notaðu þá alltaf scp yfir SSH.

Nú skulum við byrja á mjög auðveldu dæmi um nc og pv skipanir, en áður en það er gert verða bæði tólin að vera uppsett á kerfinu, ef ekki setja þau upp með því að nota viðkomandi dreifingarpakkastjórnunartól eins og lagt er til:

# yum install netcat pv        [On RedHat based systems]
# dnf install netcat pv        [On Fedora 22+ versions]
# apt-get install netcat pv    [On Debian and its derivatives]

Hvernig á að flytja skrár á milli tveggja Linux véla?

Gerum ráð fyrir að þú viljir senda eina stóra skrá sem heitir CentOS-7-x86_64-DVD-1503.iso frá tölvu A til B yfir net, fljótlegasta leiðin til að ná þessu með því að nota nc netkerfi sem notað er til að senda skrár yfir TCP net, pv til að fylgjast með framvindu gagna og tjöruforrit til að þjappa gögnum til að bæta flutningshraða.

Skráðu þig fyrst inn í vélina 'A' með IP tölu 192.168.0.4 og keyrðu eftirfarandi skipun.

# tar -zcf - CentOS-7-x86_64-DVD-1503.iso | pv | nc -l -p 5555 -q 5

Leyfðu mér að útskýra valkostina sem notaðir eru í skipuninni hér að ofan:

  1. tar -zcf = tar er spóluskjalasafn sem notað er til að þjappa/afþjappa skjalaskrár og rök -c býr til nýja .tar skjalasafn, -f tilgreindu tegund skjalasafns og -z síu skjalasafn í gegnum gzip.
  2. CentOS-7-x86_64-DVD-1503.iso = Tilgreindu skráarnafnið sem á að senda yfir netið, það getur verið skrá eða slóð að möppu.
  3. pv = Pipe Viewer til að fylgjast með framvindu gagna.
  4. nc -l -p 5555 -q 5 = Netverkfæri notað til að senda og taka á móti gögnum yfir tcp og viðfangsefni -l notað til að hlusta eftir tengingu á innleið, -p 555 tilgreinir upprunagáttina sem á að nota og -q 5 bíður sekúndnafjölda og síðan hætta.

Skráðu þig nú inn í vél 'B' með IP tölu 192.168.0.7 og keyrðu eftirfarandi skipun.

# nc 192.168.1.4 5555 | pv | tar -zxf -

Það er það, skráin er flutt yfir á tölvu B og þú munt geta fylgst með hversu hratt aðgerðin gekk. Það eru fullt af fleiri frábærri notkun á nc (ekki fjallað um það ennþá, en mun skrifa um það fljótlega) og pv (við höfum þegar fjallað um ítarlega grein um þetta hér) skipunum, ef þú þekkir eitthvert dæmi, vinsamlegast láttu okkur vita í gegnum athugasemdir!