Twa servers, ien VPN, ien map dy't op beide plakken bestean moat, en in opdracht dy't maklik út te fieren en dreech werom te draaien is. Foardat jo it yntype, beslute hokker kopy autoritatyf is, want elke folgjende rsync-fraach hinget fan dat antwurd ôf. In ienrjochtingsreplika, in dielde wurkmap en in argyf mei ferzjes freegje ferskillende regels foar feroarings en ferwiderings. De tunnel leveret it paad en hat gjin miening oer ien fan har.

Beslute hokker kopy wint foardat jo in opdracht yntype

Skriuw de rjochting yn ien sin, mei de hostnamme en it paad oan elke kant, en krij goedkarring fan wa't de gegevens besit. Yn dizze rjochtsje is de boarne /srv/publish/ en it doel is in akkount op fileserver.example dat allinnich yn /srv/mirror/ skriuwe mei.

Befêstigje de transportfeiten foar de kopy: de SSH-hostkaai is ferifiearre, it doelakkount kin yn it replikagebiet skriuwe en nearne oars, en beide hosts hawwe ferienbere rsync-ferzjes. Dizze betingsten foarkomme dat in lytse plangflater in tagongsincidint wurdt. Se fertelle jo ek hokker akkount yn 'e logs fan it doel ferskine sil as der wat mis giet.

Besjoch de kopy foarôf en lês de detaillearre list

Fier de kopy earst út mei de foarbyldichflagge en bewarje de útfier. De detaillearre feroarings fertelle wat der mei elk paad barre soe, wat folle nuttiger is as in gearfetting achterôf. Bewarje de útfier yn it feroaringsregister sadat de folgjende run wat hat om mei te ferlykjen.

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

De ôfslutende skuorstreep is wichtich. Oan 'e boarnekant betsjut it de ynhâld fan dy map, wylst it weilitten in ekstra mapnivo tafoeget dat nei de boarne neamd is. De rsync-hânlieding dokumintearret beide foarmen tegearre mei de flaggen foar it behâlden fan metadata, en de set opsjes dy't jo nedich hawwe hinget fan 'e gegevens ôf en net fan gewoante.

Lês elke rigel tsjin it doel dat jo bedoelden. It fuortheljen fan de foarbyldichflagge fiert de kopy út en kin bestannen oerskriuwe, en sûnder in ferwideringsopsje bliuwe de ekstra bestannen dy't al by it doel binne gewoan lizze dêr't se binne. Dat is allinnich de feilige standert as jo wier besletten hawwe dat efterlitten ferâldere bestannen akseptabel binne. As it antwurd nee is, dan is it ferwideringsbeslút hjirûnder ien dat nommen wurde moat, net in ekstra flagge om yn dizze opdracht te struien.

Beslute dêrnei oft ferwiderings meireizgje

It doel in spegel meitsje is in twadde beslút, net in ferfining fan it earste. Besjoch it apart, mei de ferwideringsflagge tafoege en neat oars feroare, sadat it ferskil yn 'e list hielendal by dat beslút heart.

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

Ferwiderings helje oerstallige bestannen oan 'e ûntfangende kant binnen it syngronisearre berik fuort, dêrom kinne in ferkeard boarnepaad, in net oankeppele map of in filter dat mear útslút as bedoeld wie in ferneatigjende run der as in skjinne spegel útsjen litte. De foarbyldichlist is it iennichste plak dêr't dat ferskil sichtber wurdt foardat it djoer wurdt. Hâld in ûnôfhinklike werstelkopy dêr't de gegevens it rjochtfeardigje, en tink derom dat in spegel in ûnbedoelde ferwidering trou reproduzearret ynstee fan skiednis te bewarjen.

In foarbyldich beklamet ek neat. Minsken bewurkje bestannen tusken de test en de echte run, en bestânssystemen hawwe har eigen miening, dus de run dy't jo goedkrije en de run dy't útfierd wurdt binne net deselde operaasje, útsein as beide beammen stil binne.

Twa ienrjochtingswurken meitsje gjin twarjochtingssyngronisaasje

Deselde opdracht yn beide rjochtingen útfiere is de meast foarkommende manier om gegevens te ferliezen yn dit senario. Elke rjochting behannelet de oare kant as doel en oerskriuwt fleurich nijere ynhâld, en ferwiderings spiegele yn 'e folchoarder wêryn't it skema ôfgiet.

As brûkers beide kopyen bewurkje moatte, is dat in oar produktbeslút: konfliktbehanneling, it folgjen fan ferwiderings en in helpmiddel dat foar dat model ûntwurpen is. It benaderjen mei skema-oarder is hoe't in dielde map twa ferzjes fan elk dokumint krijt dy't nimmen ferienigje kin. Beslúd it eksplisyt ynstee fan it te benaderjen mei twa cron-ynfieringen en hoop.

Automatisearje earst neidat it belied skreaun is

In plande taak heart de rjochting, de paden, it metadata-belied en it goedkarde ferwideringsbeslút te dragen. Set dy fiif feiten yn it taakbestân sels, net op in wikiside dy't de folgjende behearder miskien nea lêze sil. Foarkom oerlappende runs, want twa kopyen dy't tagelyk itselde beam skriuwe leverje in tastân op dy't gjin fan beide bedoelde.

As de boarne in libbene databank of in oare bestânsset mei meardere bestannen is, nim dan earst in eksport dy't mei de applikaasje oerienkomt of in koördinearre momintopname. In rekursive bestânswanneling is gjin transaksje, en in kopy fan in feroarjende bestânsset is net konsekwint.

Registrearje foltôgings en mislearrings, en kontrolearje de bestânsset by it doel ynstee fan allinnich de útgongstatus. It werstellen fan de VPN nei in steuring werstelt de ferbining; it seit neat oer oft de lêste kopy klear wie of oft tsjinstridige bewurkings ea oplost binne.

Relatearre artikelen