Zure igoera hamabi gigabyteko artxibo baten lau gigabytetan trabatzen da, eta deskarga-kudeatzaileetatik ikasitako ohiturak berrekitea sakatu behar duzula dio. rsync-ek ez du TCP korrontea berrekingo, korronte hori tunelaren azken berbidalketarekin desagertu baitzen. Egin dezakeena jada jasotako byteak gorde eta hurrengo saiakuntzarako oinarri gisa erabiltzea da, eta hori arau-multzo desberdina duen beste mekanismo bat da. Aukeratzen dituzun banderek zehazten dute berrerabilera hori gertatuko den ala ez.

Berriz saiatzeak egoera berreraikitzen du, ez du korrontea berrekitzen

SSH saioa erortzen denean, urruneko muturrean diskoan idaztea lortu zuenaren besterik ez da geratzen, eta ez ezer gehiago. Ez dago berriro itsasteko saio-tokenik, ezta erreproduzitzeko sekuentzia-zenbakirik ere. Hurrengo exekuzioak konexio berria irekitzen du, iturria berriro irakurtzen du eta hartzaileari galdetzen dio zer duen jada.

Azken galdera horrek azaltzen du zergatik merezi duen fitxategi partziala gordetzeak. Hartzailearen kopiak zerbaitekin alderatzeko aukera ematen dio rsync-i, eta algoritmoak identifikatu ditzakeen desberdintasunak soilik bidaltzen ditu. Oraindik metadatuen transferentzia berria eta iturriaren beste pasada bat da, beraz aurreztutako denbora fitxategiaren zenbat bat datorren proportzionala da, ez aurreko konexioak zenbat aurreratu zuen. Hartzaileak ezer gorde ez badu, hurrengo saiakuntza kopia osoa da, lehenengoak zenbat gigabyte mugitu zituen ere.

Erabaki non bizi den berrerabil daitekeen zatia

Lehenetsitako portaerak fitxategi partziala helmuga-bidean idazten du, eta horrek erdi idatzitako artxiboa azken izenaren azpian ikusgai uzten du. --partial-dir zuk aukeratutako direktorio batera eramaten du, eta eskuliburuak direktorio hori geroagoko transferentzia batek datu gisa erabiltzeko gordeta dagoela deskribatzen du. Izen erlatiboa helmuga-direktorioaren azpian ebazten da, eta hori da nahi duzuna bi muturrek diseinu desberdinak izan ditzaketenean.

rsync -e ssh --partial-dir=.rsync-partial --info=progress2 -- \
  large-archive.bin [email protected]:/srv/incoming/

Ordena ere garrantzitsua da helmugan: direktorio partzialak zatiarentzako leku nahikoa behar du, eta bolumenak amaierako fitxategirako leku nahikoa ere bai. Transferentziaren erdian helburuko bolumena betetzeak sare-arazo bat dirudien baina ez den hutsegitea sortzen du, eta gordetako zatia moztuta utz dezake. Egiaztatu leku librea hartzailean exekuzioa hasi aurretik, ez huts egin ondoren. SSH bide beretik df -h erabiliz segundo batzuk planaren probarik merkeena da.

Baimenak kezka txikiagoa baina erreala dira. Kontu arrotzek idatz dezaketen direktorio partzial batek beste norbaitek eduki ordezkatzea ahalbidetzen du, eta zure hurrengo exekuzioak jada jasotakotzat hartuko du. Mantendu transferentziako kontuaren jabetzan, eta ez jarri beste zerbitzuek argitaratzen duten tokian.

Exekutatu kopia bera, ez kopia argiago bat

Berrerabilera iturriak eta helmugak objektu bera deskribatzen dutenean soilik aplikatzen da. Bide bera, izen bera, fitxategi bera. Iturria berrizendatzeak edo beste helmuga-direktorio batera seinalatzeak ezertarako balio ez duen zerbaiten aurkako alderaketa berria hasten du.

Ez gehitu --whole-file delta-portaera espero duzun bitartean. Aukera horrek rsync-i fitxategi osoa kontrola-batuketa irristakorraren alderaketarik gabe kopiatzeko esaten dio, eta hori aukera zentzuzkoa da tokiko esteka bizkor batean eta guztiz okerra distantzia luzeko igoera huts baten ondoren. --inplace ere istorioa aldatzen du: zuzenean helmuga-fitxategian idazten du, beraz etendurak eduki zaharra eta berria nahasten dituen fitxategia uzten du, atzera egiteko zati bereizirik gabe.

Aurrerapen-lerroak transferentziaren aurrerapen osoa jakinarazten du. Ez da osatze-seinale bat. Ehuneko ehunera iristen den zenbakiak, konexioa oraindik irekita dagoela, datuak bultzatu direla esan nahi du, ez hartzaileak zerbait berrizendatu, sinkronizatu edo onartu duenik.

Onartu objektua bat datorrenean soilik

Egiaztatu irteera-egoera lehenik, eta gero alderatu emaitza, erroreen ezaren gainean fidatu beharrean. Tamainaren egiaztapenak transferentzia moztu gehienak harrapatzen ditu; kontrol-batuketen alderaketak gainerakoak harrapatzen ditu, eta biak merkeak dira igoera berriro exekutatzearen aldean.

Artxiboa beheragoko prozesu batek argitaratzen badu, egin prozesu horrek onartutako fitxategia itxaron dezan. Azken izenaren azpian gainbegiratutako direktorio batera iristen den gordetako zati bat hurrengo eskaneatzeak jasotzen du, eta kontsumitzailearen errorea sarrera hondatuei buruzkoa izango da, inoiz amaitu ez zen transferentzia bati buruzkoa beharrean.

Utzi iturria bakean hartzaileak berretsi arte. Saiakuntzen artean artxiboa birsortzeak alderaketa-oinarria aldatzen du, eta hurrengo exekuzioak ia dena eramaten du edo ez iturri zaharrarekin ez berriarekin bat datorren fitxategia sortzen du.

Muga esteka denean, ez bandera

Goiburuaren eta protokoloaren gainkarga transferentzia baten kostua da, eta gutxitan da fitxategi handi batek zenbat irauten duen erabakitzen duena. Berrabiarazte-portaerak gehiago balio du: eskuzko urratsik gabe erorketa gainditzen duen metodoak erabilgarri den fitxategia lehenago ematen du berriro hasi behar duen metodo azkarragoak baino. Bi muturretako biltegiratzea eta autentifikazio-bidea alderaketa berean sartzen dira.

Konparatu baimendutako bide alternatiboak fitxategi berarekin eta helmuga berarekin, eta idatzi bakoitza nondik abiatzen den etenaldi baten ondoren. Zutabe bakar horrek VPN baten bidezko hamabi gigabyteko igoera bati buruz proba labur batean neurtutako edozein abiadura gorenak baino gehiago esaten dizu.

Erlazionatutako artikuluak