Ang iyong pag-upload ay natigil sa apat na gigabyte ng isang archive na labindalawang gigabyte, at ang ugali na natutunan mula sa mga download manager ay nagsasabing pindutin ang ipagpatuloy. Hindi ipagpapatuloy ng rsync ang TCP stream, dahil ang stream na iyon ay nawala kasama ng huling retransmission ng tunnel. Ang magagawa nito ay itago ang mga byte na natanggap na at gamitin ang mga iyon bilang batayan para sa susunod na pagtatangka, na isang ibang mekanismo na may ibang hanay ng mga tuntunin. Ang mga flag na pipiliin mo ang nagpapasya kung mangyayari man ang muling paggamit na iyon.

Binubuo muli ng bagong pagtatangka ang estado, hindi nito ipinagpapatuloy ang stream

Kapag bumagsak ang session ng SSH, ang natitira sa malayong dulo ay tanging ang naisulat sa disk, at wala nang iba. Walang session token na muling kakapitan at walang sequence number na muling patutugtugin. Ang susunod na takbo ay magbubukas ng bagong koneksyon, muling babasahin ang pinagmulan at tatanungin ang tatanggap kung ano na ang mayroon ito.

Ang huling tanong na iyon ang nagpapaliwanag kung bakit sulit itago ang isang bahagyang file. Ang kopya ng tatanggap ay nagbibigay sa rsync ng maihahambing, at ang algorithm ay nagpapadala lamang ng mga pagkakaibang makikilala nito. Ito ay panibagong paglilipat pa rin ng metadata at panibagong pagdaan sa pinagmulan, kaya ang natipid na oras ay proporsyonal sa kung gaano karami ng file ang tumutugma, hindi sa kung gaano kalayo ang naabot ng dating koneksyon. Kung wala itong itinago, ang susunod na pagtatangka ay buong kopya, gaano man karaming gigabyte ang inilipat ng una.

Magpasya kung saan nakatira ang muling magagamit na piraso

Ang default na pag-uugali ay nagsusulat ng bahagyang file sa daanan ng destinasyon, na nagpapakita ng kalahating naisulat na archive sa ilalim ng huling pangalan. Inililipat ito ng --partial-dir sa isang direktoryo na pipiliin mo, at inilalarawan ng manwal ang direktoryong iyon bilang itinago para gamitin bilang data ng isang susunod na paglilipat. Ang isang relatibong pangalan ay nireresolba sa ilalim ng direktoryo ng destinasyon, na siyang eksaktong gusto mo kapag ang dalawang dulo ay maaaring may magkaibang layout.

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

Mahalaga rin ang pagkakasunod-sunod sa destinasyon: ang bahagyang direktoryo ay nangangailangan ng sapat na espasyo para sa piraso, at ang volume ay nangangailangan ng sapat na espasyo para sa natapos na file. Ang pagpuno sa volume ng target sa kalagitnaan ng paglilipat ay gumagawa ng pagkabigo na mukhang problema sa network ngunit hindi, at maaari nitong iwanang putol ang itinagong piraso. Suriin ang libreng espasyo sa host na tumatanggap bago magsimula ang takbo, hindi pagkatapos nitong mabigo. Ilang segundo gamit ang df -h sa parehong daanan ng SSH ang pinakamurang posibleng pagsubok ng plano.

Ang mga pahintulot ay mas maliit ngunit tunay na alalahanin. Ang bahagyang direktoryo kung saan makakasulat ang mga hindi kaugnay na account ay nagpapahintulot sa iba na palitan ang nilalaman na ituturing ng susunod mong takbo bilang natanggap na. Itago ito sa pagmamay-ari ng account ng paglilipat, at huwag itong ilagay kung saan naglalathala ang ibang serbisyo.

Patakbuhin ang parehong kopya, hindi ang mas matalino

Ang muling paggamit ay nalalapat lamang kapag ang pinagmulan at destinasyon ay naglalarawan pa rin ng parehong bagay. Parehong daanan, parehong pangalan, parehong file. Ang pagpapalit ng pangalan ng pinagmulan o pagturo sa ibang direktoryo ng destinasyon ay nagbubukas ng bagong paghahambing laban sa walang pakinabang.

Huwag idagdag ang --whole-file habang inaasahan ang pag-uugaling delta. Sinasabi ng opsyong iyon sa rsync na kopyahin ang buong file nang walang paghahambing ng gumugulong na checksum, na makatwirang pagpipilian sa mabilis na lokal na link at eksaktong mali pagkatapos ng nabigong malayuang pag-upload. Binabago rin ng --inplace ang kuwento: nagsusulat ito nang direkta sa file ng destinasyon, kaya ang pagkagambala ay nag-iiwan ng file na naghahalo ng luma at bagong nilalaman na walang hiwalay na piraso na babalikan.

Ang linya ng pag-usad ay nag-uulat ng pinagsama-samang pag-usad ng paglilipat. Hindi ito senyales ng pagkumpleto. Ang bilang na umabot sa isang daang porsyento habang bukas pa ang koneksyon ay nangangahulugang naipasa ang data, hindi na ang tatanggap ay nagpalit ng pangalan, nag-sync o tumanggap ng anuman.

Tanggapin ang bagay pagkatapos lamang na tumugma ito

Kumpirmahin muna ang exit status, pagkatapos ay ihambing ang resulta sa halip na umasa sa kawalan ng mga error. Nahuhuli ng pagsusuri ng laki ang karamihan ng putol na paglilipat; nahuhuli ng paghahambing ng checksum ang natitira, at pareho silang mura kumpara sa muling pagpapatakbo ng pag-upload.

Kung ang archive ay inilalathala ng isang downstream na proseso, hayaang maghintay ang prosesong iyon sa tinanggap na file. Ang itinagong piraso na dumapo sa isang binabantayang direktoryo sa ilalim ng huling pangalan ay napupulot ng susunod na scan, at ang error ng consumer ay tungkol sa sira na input at hindi tungkol sa paglilipat na hindi natapos kailanman.

Huwag galawin ang pinagmulan hanggang kumpirmahin ng tatanggap. Ang muling paggawa ng archive sa pagitan ng mga pagtatangka ay nagbabago ng batayan ng paghahambing, at ang susunod na takbo ay naglilipat ng halos lahat o gumagawa ng file na hindi tumutugma sa luma o sa bagong pinagmulan.

Kapag ang link, hindi ang flag, ang hangganan

Ang overhead ng header at protocol ay isang gastos ng paglilipat, at bihirang iyon ang nagpapasya kung gaano katagal ang isang malaking file. Mas mahalaga ang pag-uugali sa muling pagsisimula: ang paraang nakakaligtas sa pagputol nang walang manwal na hakbang ay naghahatid ng magagamit na file nang mas maaga kaysa sa mas mabilis na paraang kailangang magsimula muli. Ang imbakan sa dalawang dulo at ang daanan ng pagpapatunay ay kabilang sa parehong paghahambing.

Ihambing ang pinapayagang alternatibong daanan sa parehong file at parehong destinasyon, at itala kung saan muling nagsisimula ang bawat isa pagkatapos ng pagkagambala. Ang nag-iisang column na iyon ay mas nagsasabi tungkol sa pag-upload na labindalawang gigabyte sa VPN kaysa sa anumang pinakamataas na bilis na sinusukat sa maikling pagsubok.

Kaugnay na mga artikulo