rsync üle VPN-i: kumb pool on tõe allikas?
Tunnel annab tee, mitte ühendamispoliitika. Valige autoriteetne koopia, eelvaadake ühesuunalist koopiat ja otsustage seejärel eraldi, kas kustutamised liiguvad kaasa.
Kaks serverit, üks VPN, üks kataloog, mis peab olema mõlemas kohas, ja käsk, mida on lihtne käivitada ja raske tagasi võtta. Enne selle sisestamist otsustage, milline koopia on autoriteetne, sest iga järgnev rsync-küsimus sõltub sellest vastusest. Ühesuunaline koopia, jagatud töökaust ja versioonihaldusega arhiiv vajavad muudatuste ja kustutamiste jaoks erinevaid reegleid. Tunnel annab tee ja tal pole nende kohta mingit arvamust.
Otsustage, milline koopia võidab, enne kui käsu sisestate
Kirjutage suund ühe lausega, sealhulgas hostinimi ja tee kummalgi poolel, ja hankige andmete omaniku nõusolek. Selles juhendis on allikaks /srv/publish/ ja sihtkohaks fileserver.example olev konto, millel on lubatud kirjutada ainult /srv/mirror/.
Kinnitage transpordi faktid enne kopeerimist: SSH-hostivõti on kontrollitud, sihtkoha konto saab kirjutada koopia alasse ja mitte mujale, ning mõlemal hostil on ühilduvad rsync-versioonid. Need eeldused hoiavad ära, et väike planeerimisviga muutub õigusteintsidendiks. Need ütlevad ka, milline konto ilmub sihtkoha logidesse, kui midagi valesti läheb.
Eelvaadake koopiat ja lugege üksikasjalikku loendit
Käivitage koopia esmalt eelvaate lipuga ja hoidke väljund alles. Üksikasjalikud muudatused ütlevad, mis juhtuks iga teega, mis on palju kasulikum kui hilisem kokkuvõte. Salvestage väljund muudatuste kirjesse, et järgmisel käivitusel oleks millega võrrelda.
rsync -rt --dry-run --itemize-changes -e ssh -- /srv/publish/ [email protected]:/srv/mirror/
Lõplik kaldkriips on oluline. Allika poolel tähendab see selle kataloogi sisu, samas kui selle ärajätmine lisab allika järgi nimetatud kataloogitaseme. rsync-käsiraamat dokumenteerib mõlemad vormid koos metaandmete säilitamise lippudega ja vajalik valikute kogum sõltub andmetest, mitte harjumusest.
Lugege iga rida kavandatud sihtkoha suhtes. Eelvaate lipu eemaldamine teostab kopeerimise ja võib faile üle kirjutada, ning ilma kustutamisvalikuta jäävad sihtkohas juba olevad lisafailid lihtsalt sinna, kus nad on. See on ohutu vaikeväärtus ainult siis, kui olete tõesti otsustanud, et maha jäänud vananenud failid on vastuvõetavad. Kui vastus on ei, tuleb teha allpool kirjeldatud kustutamisotsus, mitte sellesse käsusse lisalippu puistata.
Seejärel otsustage, kas kustutamised liiguvad kaasa
Sihtkoha peegliks muutmine on teine otsus, mitte esimese täpsustus. Eelvaadake seda eraldi, lisades kustutamislippu ja muutmata midagi muud, et loendi erinevus kuuluks täielikult selle otsuse alla.
rsync -rt --delete --dry-run --itemize-changes -e ssh -- /srv/publish/ [email protected]:/srv/mirror/
Kustutamine eemaldab üleliigsed failid vastuvõtva poole pealt sünkroonitud ulatuses, mistõttu vale allikatee, ühendamata kataloog või filter, mis välistab rohkem kui kavandatud, võivad muuta hävitava käivituse puhtaks peegliks. Eelvaateloend on ainus koht, kus see erinevus muutub nähtavaks enne, kui see kalliks läheb. Hoidke sõltumatut taastamiskoopiat seal, kus andmed seda õigustavad, ja pidage meeles, et peegel taasesitab juhusliku kustutamise ustavalt, selle asemel et ajalugu säilitada.
Eelvaade ei lukusta ka midagi. Inimesed muudavad faile proovikäivituse ja tegeliku käivituse vahel ning failisüsteemidel on oma arvamus, seega ei ole heakskiidetud käivitus ja teostatav käivitus sama toiming, kui mõlemad puud pole vaiksed.
Kaks ühesuunalist tööd ei tee kahesuunalist sünkroonimist
Sama käsu käivitamine mõlemas suunas on selles stsenaariumis kõige tavalisem viis andmeid kaotada. Kumbki suund kohtleb teist poolt sihtkohana ja kirjutab rõõmsalt üle uuema sisu ning kustutamised peegelduvad samas järjekorras, milles ajakava käivitub.
Kui kasutajad peavad mõlemat koopiat muutma, on see teine tooteotsus: konfliktide käsitlemine, kustutamiste jälgimine ja selle mudeli jaoks loodud tööriist. Ajakava järjekorraga selle lähendamine on viis, kuidas jagatud kaust saab iga dokumendi kaks versiooni, mida keegi ei suuda lepitada. Otsustage see selgesõnaliselt, selle asemel et seda kahe cron-kirje ja lootusega lähendada.
Automatiseerige alles pärast poliitika kirjutamist
Ajastatud töö peaks kandma suunda, teid, metaandmete poliitikat ja kinnitatud kustutamisotsust. Pange need viis fakti tööfaili endasse, mitte vikilehele, mida järgmine administraator ei pruugi kunagi lugeda. Vältige kattuvaid käivitusi, sest kaks koopiat, mis kirjutavad samasse puusse korraga, tekitavad oleku, mida kumbki ei kavandanud.
Kui allikaks on aktiivne andmebaas või muu mitmefaililine andmestik, tehke esmalt rakendusega kooskõlas olev eksport või koordineeritud hetktõmmis. Rekursiivne failide läbimine ei ole tehing ja muutuva andmestiku koopia ei ole kooskõlaline.
Logige lõpetamised ja tõrked ning kontrollige andmestikku sihtkohas, mitte ainult väljumiskoodi. VPN-i taastamine katkestuse järel taastab ühenduse; see ei ütle midagi selle kohta, kas viimane koopia lõppes või kas vastuolulised muudatused kunagi lahendati.