Seva mbili, VPN moja, saraka moja ambayo lazima iwepo pande zote mbili, na amri ambayo ni rahisi kuendesha na ngumu kutendua. Kabla ya kuandika, amua ni nakala ipi yenye mamlaka, kwa sababu kila swali la rsync linalofuata linategemea jibu hilo. Nakala ya upande mmoja, folda ya kazi inayoshirikiwa na kumbukumbu yenye matoleo zinahitaji kanuni tofauti kwa mabadiliko na ufutaji. Handaki hutoa njia na halina maoni kuhusu yoyote kati yao.

Amua ni nakala ipi itashinda kabla ya kuandika amri

Andika mwelekeo kwa sentensi moja, ukiwa ni pamoja na jina la mwenyeji na njia kwa kila upande, na upate idhini kutoka kwa mmiliki wa data. Katika mwongozo huu chanzo ni /srv/publish/ na lengo ni akaunti kwenye fileserver.example ambayo inaruhusiwa kuandika tu katika /srv/mirror/.

Thibitisha ukweli wa usafirishaji kabla ya kunakili: ufunguo wa mwenyeji wa SSH umethibitishwa, akaunti ya lengo inaweza kuandika katika eneo la nakala na mahali pengine popote, na wenyeji wote wana matoleo ya rsync yanayolingana. Masharti haya ya awali huzuia kosa dogo la upangaji kuwa tukio la ruhusa. Pia hukuambia ni akaunti ipi itaonekana kwenye kumbukumbu za lengo wakati kitu kinakwenda kombo.

Hakiki nakala na usome orodha ya kina

Endesha nakala kwanza kwa bendera ya uhakiki na uhifadhi matokeo. Mabadiliko ya kina hukuambia kitakachotokea kwa kila njia, jambo ambalo ni muhimu zaidi kuliko muhtasari wa baadaye. Hifadhi matokeo katika rekodi ya mabadiliko ili uendeshaji unaofuata uwe na kitu cha kulinganisha.

rsync -rt --dry-run --itemize-changes -e ssh -- /srv/publish/ [email protected]:/srv/mirror/

Mkato wa mwisho ni muhimu. Kwa upande wa chanzo unamaanisha yaliyomo katika saraka hiyo, ilhali kuacha bila hiyo kunaongeza ngazi ya ziada ya saraka iliyopewa jina la chanzo. Mwongozo wa rsync unaeleza aina zote mbili pamoja na bendera za kuhifadhi metadata, na seti ya chaguo unayohitaji inategemea data na si tabia.

Soma kila mstari ukilinganisha na lengo ulilokusudia. Kuondoa bendera ya uhakiki hufanya kunakili na kunaweza kuandika juu ya faili, na bila chaguo la kufuta faili za ziada zilizopo tayari kwenye lengo zinabaki pale zilipo. Hii ni chaguo salama la msingi tu ikiwa kweli umeamua kwamba faili za zamani zinazobaki nyuma zinakubalika. Ikiwa jibu ni hapana, ni uamuzi wa ufutaji ulio chini unapaswa kufanywa, si bendera ya ziada kunyunyiza katika amri hii.

Kisha amua kama ufutaji unasafiri

Kuifanya lengo kuwa kioo ni uamuzi wa pili, si uboreshaji wa kwanza. Hakiki kwa peke yake, ukiwa umeongeza bendera ya kufuta na hakuna kingine kilichobadilishwa, ili tofauti katika orodha iwe ya uamuzi huo wote.

rsync -rt --delete --dry-run --itemize-changes -e ssh -- /srv/publish/ [email protected]:/srv/mirror/

Ufutaji huondoa faili za ziada kwa upande wa mpokeaji ndani ya wigo uliosawazishwa, ndiyo sababu njia mbaya ya chanzo, saraka isiyopachikwa au kichujio kinachotenga zaidi ya ilivyokusudiwa vinaweza kufanya uendeshaji wa uharibifu uonekane kama kioo safi. Orodha ya uhakiki ndiyo mahali pekee ambapo tofauti hiyo inaonekana kabla ya kuwa ghali. Weka nakala huru ya urejeshaji pale data inapohalalisha, na kumbuka kwamba kioo huiga kwa uaminifu ufutaji wa bahati mbaya badala ya kuhifadhi historia.

Uhakiki pia haufungi chochote. Watu huhariri faili kati ya jaribio na uendeshaji halisi, na mifumo ya faili ina maoni yake, kwa hiyo uendeshaji unaoidhinisha na uendeshaji unaofanyika si operesheni moja isipokuwa miti yote miwili ni tulivu.

Kazi mbili za upande mmoja hazifanyi usawazishaji wa pande mbili

Kuendesha amri hiyo hiyo katika pande zote mbili ni njia ya kawaida zaidi ya kupoteza data katika hali hii. Kila mwelekeo huchukulia upande mwingine kama lengo na kwa furaha huandika juu ya maudhui mapya zaidi, na ufutaji huakisiwa kwa mpangilio ambao ratiba inaanza.

Ikiwa watumiaji lazima wahariri nakala zote mbili, huo ni uamuzi mwingine wa bidhaa: kushughulikia migongano, ufuatiliaji wa ufutaji na chombo kilichoundwa kwa mtindo huo. Kuikaribia kwa mpangilio wa ratiba ndiyo njia ambayo folda inayoshirikiwa hupata matoleo mawili ya kila hati ambayo hakuna anayeweza kuyaunganisha. Amua kwa uwazi badala ya kuikaribia kwa maingizo mawili ya cron na matumaini.

Fanya otomatiki tu baada ya sera kuandikwa

Kazi iliyoratibiwa inapaswa kubeba mwelekeo, njia, sera ya metadata na uamuzi wa ufutaji ulioidhinishwa. Weka ukweli huo watano katika faili ya kazi yenyewe, si kwenye ukurasa wa wiki ambao msimamizi anayefuata huenda hakuwahi kuusoma. Zuia uendeshaji unaopishana, kwa sababu nakala mbili zinazoandika mti mmoja kwa wakati mmoja huzalisha hali ambayo hakuna yoyote iliikusudia.

Wakati chanzo ni hifadhidata hai au seti nyingine ya data ya faili nyingi, chukua kwanza usafirishaji unaolingana na programu au picha iliyoratibiwa. Kuzunguka faili kwa kurudia si muamala, na nakala ya seti ya data inayobadilika si thabiti.

Rekodi ukamilishaji na kushindwa, na kagua seti ya data kwenye lengo na si msimbo wa kutoka tu. Kurejesha VPN baada ya hitilafu kunarejesha muunganisho; haisemi lolote kuhusu kama nakala ya mwisho ilikamilika au kama mabadiliko yanayopingana yaliwahi kutatuliwa.

Makala zinazohusiana