Divi serveri, viens VPN, viena direktorija, kurai jābūt abās vietās, un komanda, kuru ir viegli palaist un grūti atsaukt. Pirms to rakstīt, izlemiet, kura kopija ir autoritatīva, jo katrs nākamais rsync jautājums ir atkarīgs no šīs atbildes. Vienvirziena replika, koplietota darba mape un ar versijām apzīmēts arhīvs prasa atšķirīgus noteikumus izmaiņām un dzēšanām. Tunelis nodrošina ceļu, un tam nav viedokļa par nevienu no tiem.

Izlemiet, kura kopija uzvarēs, pirms rakstāt komandu

Pierakstiet virzienu vienā teikumā, iekļaujot resdatora nosaukumu un ceļu katrā pusē, un saņemiet datu īpašnieka apstiprinājumu. Šajā pamācībā avots ir /srv/publish/, bet galamērķis ir konts uz fileserver.example, kuram ir atļauts rakstīt tikai /srv/mirror/.

Pirms kopēšanas apstipriniet transportēšanas faktus: SSH resdatora atslēga ir pārbaudīta, galamērķa konts var rakstīt replikācijas apgabalā un nekur citur, un abiem resdatoriem ir saderīgas rsync versijas. Šie priekšnosacījumi neļauj mazai plānošanas kļūdai kļūt par atļauju incidentu. Tie arī pasaka, kurš konts parādīsies galamērķa žurnālos, kad kaut kas noies greizi.

Priekšskatiet kopiju un izlasiet detalizēto sarakstu

Vispirms palaidiet kopiju ar priekšskatīšanas karodziņu un saglabājiet izvadi. Detalizētās izmaiņas pasaka, kas notiktu ar katru ceļu, un tas ir daudz noderīgāk nekā vēlāks kopsavilkums. Saglabājiet izvadi izmaiņu žurnālā, lai nākamajai palaišanai būtu ar ko salīdzināt.

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

Beigu slīpsvītrai ir nozīme. Avota pusē tā nozīmē šīs direktorijas saturu, savukārt tās izlaišana pievieno papildu direktorijas līmeni, kas nosaukts pēc avota. rsync rokasgrāmata apraksta abas formas kopā ar metadatu saglabāšanas karodziņiem, un nepieciešamais opciju kopums ir atkarīgs no datiem, nevis no ieraduma.

Lasiet katru rindu attiecībā pret paredzēto galamērķi. Priekšskatīšanas karodziņa noņemšana veic kopēšanu un var pārrakstīt failus, un bez dzēšanas opcijas papildu faili, kas jau ir galamērķī, vienkārši paliek tur, kur tie ir. Tas ir drošs noklusējums tikai tad, ja esat patiešām nolēmis, ka atstāti novecojuši faili ir pieņemami. Ja atbilde ir nē, ir jāpieņem tālāk aprakstītais dzēšanas lēmums, nevis šajā komandā jāizbārstās ar papildu karodziņu.

Pēc tam izlemiet, vai dzēšanas ceļo līdzi

Galamērķa pārvēršana spogulī ir otrs lēmums, nevis pirmā precizējums. Priekšskatiet to atsevišķi, pievienojot dzēšanas karodziņu un neko citu nemainot, lai saraksta atšķirība pilnībā piederētu šim lēmumam.

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

Dzēšana noņem liekos failus saņēmēja pusē sinhronizētajā tvērumā, tāpēc nepareizs avota ceļš, nepiemontēta direktorija vai filtrs, kas izslēdz vairāk nekā paredzēts, var likt postošai palaišanai izskatīties kā tīram spogulim. Priekšskatīšanas saraksts ir vienīgā vieta, kur šī atšķirība kļūst redzama pirms tā kļūst dārga. Turiet neatkarīgu atkopšanas kopiju tur, kur dati to attaisno, un atcerieties, ka spogulis uzticīgi atspoguļo nejaušu dzēšanu, nevis saglabā vēsturi.

Priekšskatījums arī neko neaizslēdz. Cilvēki rediģē failus starp izmēģinājuma un īsto palaišanu, un failu sistēmām ir savs viedoklis, tāpēc palaišana, kuru apstiprināt, un palaišana, kas notiek, nav viena un tā pati darbība, ja vien abi koki nav mierīgi.

Divi vienvirziena darbi neveido divvirzienu sinhronizāciju

Tās pašas komandas palaišana abos virzienos ir visizplatītākais datu zaudēšanas veids šajā scenārijā. Katrs virziens uzskata otru pusi par galamērķi un priecīgi pārraksta jaunāku saturu, un dzēšanas atspoguļojas tādā secībā, kādā iedarbojas grafiks.

Ja lietotājiem ir jārediģē abas kopijas, tas ir cits produkta lēmums: konfliktu apstrāde, dzēšanu izsekošana un šim modelim veidots rīks. Tuvināšana ar grafika secību ir veids, kā koplietota mape iegūst divas katra dokumenta versijas, kuras neviens nevar saskaņot. Izlemiet to skaidri, nevis tuviniet ar diviem cron ierakstiem un cerību.

Automatizējiet tikai pēc tam, kad politika ir uzrakstīta

Plānotajam darbam jānes virziens, ceļi, metadatu politika un apstiprinātais dzēšanas lēmums. Ielieciet šos piecus faktus pašā darba failā, nevis wiki lapā, kuru nākamais administrators var nekad neizlasīt. Novērsiet pārklājošas palaišanas, jo divas kopijas, kas vienlaikus raksta vienā kokā, rada stāvokli, kuru neviena no tām nebija paredzējusi.

Kad avots ir dzīva datubāze vai cits vairāku failu datu kopums, vispirms izveidojiet ar lietojumprogrammu saskaņotu eksportu vai saskaņotu momentuzņēmumu. Rekursīva failu apstaigāšana nav darījums, un mainīga datu kopuma kopija nav konsekventa.

Reģistrējiet pabeigšanas un kļūmes un pārbaudiet datu kopumu galamērķī, nevis tikai iziešanas kodu. VPN atjaunošana pēc pārtraukuma atjauno savienojamību; tas neko nepasaka par to, vai pēdējā kopija tika pabeigta vai vai pretrunīgas izmaiņas kādreiz tika atrisinātas.

Saistītie raksti