rsync VPN-en át: melyik oldal az igazság forrása?
Az alagút utat ad, nem egyesítési szabályzatot. Válassza ki a hiteles másolatot, tekintse át az egyirányú másolatot, majd külön döntse el, hogy a törlések utaznak-e.
Két kiszolgáló, egy VPN, egy könyvtár, amelynek mindkét helyen léteznie kell, és egy parancs, amelyet könnyű futtatni és nehéz visszavonni. Beírása előtt döntse el, melyik másolat a hiteles, mert minden további rsync-kérdés ettől a választól függ. Az egyirányú replika, a megosztott munkamappa és a verziózott archívum eltérő szabályokat igényel a módosításokhoz és a törlésekhez. Az alagút biztosítja az utat, és nincs véleménye egyikről sem.
Döntse el, melyik másolat nyer, mielőtt parancsot ír
Írja le az irányt egy mondatban, beleértve a gazdagépnevet és az útvonalat mindkét oldalon, és szerezze be az adatok tulajdonosának jóváhagyását. Ebben az útmutatóban a forrás /srv/publish/, a cél pedig egy fiók a következőn: fileserver.example, amely csak a /srv/mirror/ könyvtárba írhat.
Erősítse meg a szállítási tényeket a másolás előtt: az SSH gazdagépkulcs ellenőrzött, a célfiók írhat a replikaterületre és máshova nem, és mindkét gazdagépen kompatibilis rsync-verziók vannak. Ezek az előfeltételek megakadályozzák, hogy egy kis tervezési hiba jogosultsági incidenssé váljon. Azt is megmondják, melyik fiók jelenik meg a cél naplóiban, amikor valami rosszul sikerül.
Nézze át a másolatot, és olvassa el a részletes listát
Először az előnézeti kapcsolóval futtassa a másolást, és őrizze meg a kimenetet. A részletes változások megmondják, mi történne az egyes útvonalakkal, ami sokkal hasznosabb, mint egy utólagos összegzés. Tegye a kimenetet a változásnaplóba, hogy a következő futásnak legyen mihez hasonlítania.
rsync -rt --dry-run --itemize-changes -e ssh -- /srv/publish/ [email protected]:/srv/mirror/
A záró perjel számít. A forrás oldalán annak a könyvtárnak a tartalmát jelenti, míg elhagyása egy további, a forrásról elnevezett könyvtárszintet ad hozzá. Az rsync kézikönyve mindkét formát dokumentálja a metaadatok megőrzésére szolgáló kapcsolókkal együtt, és a szükséges beállításkészlet az adatoktól függ, nem a szokástól.
Minden sort a szándékolt célhoz viszonyítva olvasson. Az előnézeti kapcsoló eltávolítása végrehajtja a másolást és felülírhat fájlokat, és törlési lehetőség nélkül a célon már meglévő extra fájlok egyszerűen ott maradnak, ahol vannak. Ez csak akkor biztonságos alapértelmezés, ha valóban eldöntötte, hogy a hátrahagyott elavult fájlok elfogadhatók. Ha a válasz nem, akkor a lenti törlési döntést kell meghozni, nem pedig egy plusz kapcsolót hinteni ebbe a parancsba.
Aztán döntse el, hogy a törlések utaznak-e
A cél tükörré tétele második döntés, nem az első finomítása. Nézze át külön, a törlési kapcsoló hozzáadásával és semmi más megváltoztatásával, hogy a listában lévő különbség teljes egészében ehhez a döntéshez tartozzon.
rsync -rt --delete --dry-run --itemize-changes -e ssh -- /srv/publish/ [email protected]:/srv/mirror/
A törlések eltávolítják a felesleges fájlokat a fogadó oldalon a szinkronizált hatókörön belül, ezért egy hibás forrásútvonal, egy nem csatolt könyvtár vagy egy a szándékosnál többet kizáró szűrő pusztító futást varázsolhat tiszta tükörré. Az előnézeti lista az egyetlen hely, ahol ez a különbség láthatóvá válik, mielőtt drágává válik. Tartson független helyreállítási másolatot ott, ahol az adatok indokolják, és ne feledje, hogy a tükör hűen reprodukálja a véletlen törlést, ahelyett hogy megőrizné az előzményeket.
Az előnézet semmit sem zár le. Az emberek a próbafutás és a valódi futás között szerkesztenek fájlokat, és a fájlrendszereknek saját véleményük van, így a jóváhagyott futás és a végrehajtott futás nem ugyanaz a művelet, hacsak mindkét fa nem csendes.
Két egyirányú feladat nem csinál kétirányú szinkronizálást
Ugyanazon parancs futtatása mindkét irányban a leggyakoribb módja az adatvesztésnek ebben a forgatókönyvben. Mindkét irány célként kezeli a másik oldalt, és vidáman felülírja az újabb tartalmat, a törlések pedig abban a sorrendben tükröződnek, ahogy az ütemezés elindul.
Ha a felhasználóknak mindkét másolatot szerkeszteniük kell, az más termékdöntés: konfliktuskezelés, a törlések nyomon követése és az adott modellre tervezett eszköz. Az ütemezés sorrendjével való közelítés az, ahogy egy megosztott mappa minden dokumentum két változatát megkapja, amelyeket senki sem tud összeegyeztetni. Döntse el kifejezetten, ahelyett hogy két cron-bejegyzéssel és reménnyel közelítené.
Csak a szabályzat megírása után automatizáljon
Az ütemezett feladatnak hordoznia kell az irányt, az útvonalakat, a metaadat-szabályzatot és a jóváhagyott törlési döntést. Tegye ezt az öt tényt magába a feladatfájlba, ne egy wikilapra, amelyet a következő adminisztrátor esetleg soha nem olvas el. Akadályozza meg az átfedő futásokat, mert két másolat, amely egyszerre ugyanabba a fába ír, olyan állapotot hoz létre, amelyet egyik sem szándékolt.
Amikor a forrás élő adatbázis vagy más többfájlos adathalmaz, először készítsen az alkalmazással konzisztens exportot vagy összehangolt pillanatképet. A rekurzív fájlbejárás nem tranzakció, és egy változó adathalmaz másolata nem konzisztens.
Naplózza a befejezéseket és a hibákat, és ellenőrizze az adathalmazt a célon, nem csak a kilépési kódot. A VPN helyreállítása kimaradás után helyreállítja a kapcsolatot; semmit sem mond arról, hogy az utolsó másolat befejeződött-e, vagy hogy az ütköző szerkesztéseket valaha megoldották-e.