Du serviloj, unu VPN, unu dosierujo kiu devas ekzisti en ambaŭ lokoj, kaj komando facile rulebla kaj malfacile malfarebla. Antaŭ ol tajpi ĝin, decidu kiu kopio estas aŭtoritata, ĉar ĉiu sekva rsync-demando dependas de tiu respondo. Unudirekta repliko, komuna labordosierujo kaj versiigita arkivo bezonas malsamajn regulojn por ŝanĝoj kaj forigoj. La tunelo provizas la vojon kaj havas neniun opinion pri iu ajn el ili.

Decidu kiu kopio venkas antaŭ ol tajpi komandon

Skribu la direkton en unu frazo, inkluzive la gastigan nomon kaj la vojon ĉe ĉiu flanko, kaj ricevu aprobon de la posedanto de la datumoj. En ĉi tiu gvidilo la fonto estas /srv/publish/ kaj la celo estas konto sur fileserver.example kiu rajtas skribi nur en /srv/mirror/.

Konfirmu la transportajn faktojn antaŭ la kopio: la SSH-gastiga ŝlosilo estas kontrolita, la cella konto povas skribi en la replikan areon kaj nenie alie, kaj ambaŭ gastigantoj havas kongruajn rsync-versiojn. Tiuj antaŭkondiĉoj malhelpas malgrandan planeraron fariĝi permesa okazaĵo. Ili ankaŭ diras al vi kiu konto aperos en la protokoloj de la celo kiam io misfunkcias.

Antaŭrigardu la kopion kaj legu la detalan liston

Rulu la kopion unue kun la antaŭrigarda flago kaj konservu la eligon. La detalaj ŝanĝoj diras al vi kio okazus al ĉiu vojo, kio estas multe pli utila ol posta resumo. Konservu la eligon en la ŝanĝprotokolo por ke la sekva rulado havu ion por kompari.

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

La fina oblikva streko gravas. Ĉe la fonto ĝi signifas la enhavon de tiu dosierujo, dum lasi ĝin for aldonas plian dosierujan nivelon nomitan laŭ la fonto. La rsync-manlibro dokumentas ambaŭ formojn kune kun la flagoj por konservi metadatenojn, kaj la aro da opcioj kiujn vi bezonas dependas de la datumoj, ne de kutimo.

Legu ĉiun linion rilate al la celo kiun vi intencis. Forigi la antaŭrigardan flagon plenumas la kopiadon kaj povas superskribi dosierojn, kaj sen foriga opcio la kromaj dosieroj jam ĉeestantaj en la celo simple restas tie kie ili estas. Tio estas la sekura defaŭlto nur se vi vere decidis ke postlasitaj malaktualaj dosieroj estas akcepteblaj. Se la respondo estas ne, la foriga decido malsupre estas tiu, kiun oni devas fari, ne plia flago ŝprucigota en ĉi tiun komandon.

Poste decidu ĉu forigoj vojaĝas

Fari la celon spegulo estas dua decido, ne rafinado de la unua. Antaŭrigardu ĝin aparte, kun la foriga flago aldonita kaj nenio alie ŝanĝita, por ke la diferenco en la listo tute apartenu al tiu decido.

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

Forigoj forigas kromajn dosierojn ĉe la ricevanta flanko ene de la sinkronigita amplekso, tial malĝusta fonta vojo, nemuntita dosierujo aŭ filtrilo kiu ekskludas pli ol intencite povas igi detruan ruladon aspekti kiel pura spegulo. La antaŭrigarda listo estas la sola loko kie tiu diferenco fariĝas videbla antaŭ ol ĝi fariĝas multekosta. Konservu sendependan restarigan kopion kie la datumoj tion pravigas, kaj memoru ke spegulo fidele reproduktas hazardan forigon anstataŭ konservi historion.

Antaŭrigardo ankaŭ ŝlosas nenion. Homoj redaktas dosierojn inter la provo kaj la reala rulado, kaj dosiersistemoj havas proprajn opiniojn, do la rulado kiun vi aprobas kaj la rulado kiu okazas ne estas la sama operacio krom se ambaŭ arboj estas trankvilaj.

Du unudirektaj laboroj ne faras dudirektan sinkronigon

Ruli la saman komandon en ambaŭ direktoj estas la plej ofta maniero perdi datumojn en ĉi tiu scenaro. Ĉiu direkto traktas la alian flankon kiel celon kaj ĝoje superskribas pli novan enhavon, kaj forigoj speguliĝas laŭ la ordo en kiu la horaro ekigas.

Se uzantoj devas redakti ambaŭ kopiojn, tio estas alia produkta decido: konflikta pritraktado, spurado de forigoj kaj ilo desegnita por tiu modelo. Proksimumigi ĝin per hora ordo estas kiel komuna dosierujo akiras du versiojn de ĉiu dokumento kiujn neniu povas akordigi. Decidu ĝin eksplicite anstataŭ proksimumigi ĝin per du cron-enskriboj kaj espero.

Aŭtomatigu nur post kiam la politiko estas skribita

Planita laboro devus porti la direkton, la vojojn, la metadatenan politikon kaj la aprobitan forigan decidon. Metu tiujn kvin faktojn en la laboran dosieron mem, ne en vikian paĝon kiun la sekva administranto eble neniam legos. Malhelpu interkovrantajn ruladojn, ĉar du kopioj skribantaj en la saman arbon samtempe kreas staton kiun neniu el ili intencis.

Kiam la fonto estas viva datumbazo aŭ alia plurdosiera datumaro, unue prenu aplikaĵ-konsekvencan eksporton aŭ kunordigitan momentbildon. Rekursiva dosiera trairo ne estas transakcio, kaj kopio de ŝanĝiĝanta datumaro ne estas konsekvenca.

Registru finigojn kaj malsukcesojn, kaj kontrolu la datumaron ĉe la celo anstataŭ nur la eligan kodon. Restarigi la VPN post interrompo restarigas konektecon; ĝi diras nenion pri tio ĉu la lasta kopio finiĝis aŭ ĉu kontraŭdiraj redaktoj iam estis solvitaj.

Rilataj artikoloj