Hogyan használjuk az rsync-t a biztonsági mentéshez Linux alatt?

Tartalomjegyzék:

Hogyan használjuk az rsync-t a biztonsági mentéshez Linux alatt?
Hogyan használjuk az rsync-t a biztonsági mentéshez Linux alatt?

Videó: Hogyan használjuk az rsync-t a biztonsági mentéshez Linux alatt?

Videó: Hogyan használjuk az rsync-t a biztonsági mentéshez Linux alatt?
Videó: How-to | Protecting Your Data with Cloud Backup - YouTube 2024, Április
Anonim
Az rsync egy Unix-szerű rendszerekhez készült protokoll, amely hihetetlen sokoldalúságot biztosít az adatok biztonsági mentéséhez és szinkronizálásához. Helyileg használható a fájlok más könyvtárakhoz történő mentéséhez, vagy konfigurálható az interneten keresztül más gépekhez történő szinkronizálásra.
Az rsync egy Unix-szerű rendszerekhez készült protokoll, amely hihetetlen sokoldalúságot biztosít az adatok biztonsági mentéséhez és szinkronizálásához. Helyileg használható a fájlok más könyvtárakhoz történő mentéséhez, vagy konfigurálható az interneten keresztül más gépekhez történő szinkronizálásra.

Használható Windows rendszereken, de csak különböző portokon keresztül érhető el (például a Cygwin), így ebben a módban beszélünk arról, hogy fel kell állítani a Linuxot. Először telepítenie kell / frissítenie kell az rsync klienst. A Red Hat disztribúciók esetében a parancs "yum install rsync", a Debian pedig "sudo apt-get install rsync."

 A parancs a Red Hat / CentOS-on, miután bejelentkezett rootként (vegye figyelembe, hogy a Red Hat egyes friss verziói támogatják a sudo módszert).
A parancs a Red Hat / CentOS-on, miután bejelentkezett rootként (vegye figyelembe, hogy a Red Hat egyes friss verziói támogatják a sudo módszert).
 A Debian / Ubuntu parancs.
A Debian / Ubuntu parancs.

Az rsync használata helyi biztonsági mentésekhez

A bemutató első részében a fájlokat a Directory1 és a Directory2 között mentjük. Mindkét könyvtár ugyanazon a merevlemezen található, de ez ugyanúgy működne, ha a könyvtárak két különböző meghajtón léteznek. Számos különböző módon tudunk megközelíteni ezt, attól függően, hogy milyen biztonsági másolatokat szeretne beállítani. A legtöbb célra a következő kódsor elegendő:

$ rsync -av --delete /Directory1/ /Directory2/

A fenti kód szinkronizálja a Directory1 és a Directory2 tartalmát, és nem hagy különbséget a kettő között. Ha az rsync úgy találja, hogy a Directory2 olyan fájllal rendelkezik, amelyet a Directory1 nem, törli. Ha az rsync egy olyan fájlt talál, amelyet a Directory1 megváltoztatott, létrehozott vagy törölt, az ugyanazokat a változásokat tükrözi a Directory2-ben.

Rengeteg különböző kapcsolót használhat az rsync használatához, hogy személyre szabhassa az Ön egyedi igényeire. Íme, amit a fent említett kód az rsync-nek szól a biztonsági másolatokkal kapcsolatban:

1. -a = rekurzív (könyvtárba való visszatérés), hivatkozások (szimbolikus linkek szimbolikus másolásához), perms (engedélyek megőrzése), idők (megőrzési idő módosítása), csoport (csoport megőrzése), tulajdonos (tulajdonos megőrzése), eszközfájlok megőrzése megőrzi a speciális fájlokat. 2. -v = közönséges. Azért gondolom, hogy a verbose fontos, hogy pontosan megnézhesse, hogy az rsync hogyan készít biztonsági másolatot. Gondolj erre: Mi a teendő, ha a merevlemezed rosszul megy, és a tudományod nélkül elindítja a fájlok törlését, akkor futtatja az rsync parancsfájlt, és ezeket a változtatásokat a mentésekre tolja, ezáltal törölve a fájl összes olyan példányát, amelyet nem akart megszabadul? 3. -delete = Ez azt jelenti, hogy az rsync törli a Directory2 könyvtárban található összes olyan fájlt, amely nem szerepel a Directory1 könyvtárban. Ha úgy dönt, hogy ezt az opciót választja, akkor a fent felsorolt okok miatt javaslom a verbose opciók használatát is.

A fenti szkript használatával itt az rsync által generált kimenet a Directory1 könyvtárba a Directory2 könyvtárba. Ne feledje, hogy a verbose kapcsoló nélkül nem kap ilyen részletes információkat.

A fenti képernyőfelvétel azt mondja, hogy a File1.txt és a File2.jpg fájlokat új vagy más módon megváltoztatták a 2. könyvtárban található másolatokból, így biztonsági másolatot készítettek. Noob tip: A rsync parancsban a könyvtárak vége után észreveszem a zárójeleket - ezek szükségesek, mindenképpen emlékezzenek rájuk.
A fenti képernyőfelvétel azt mondja, hogy a File1.txt és a File2.jpg fájlokat új vagy más módon megváltoztatták a 2. könyvtárban található másolatokból, így biztonsági másolatot készítettek. Noob tip: A rsync parancsban a könyvtárak vége után észreveszem a zárójeleket - ezek szükségesek, mindenképpen emlékezzenek rájuk.

A bemutató végén még néhány hasznos kézzel fogunk kapcsolni, de ne felejtsük el, hogy egy teljes lista megtekintéséhez írja be a "man rsync" parancsot, és tekintse át a használni kívánt kapcsolók teljes listáját.

Ez arról szól, hogy a helyi biztonsági mentésekről van szó. Mint mondja, az rsync-t nagyon könnyű használni. Hihetetlenül bonyolultabbá válik, ha szinkronizálja az adatokat egy külső kiszolgálóval az interneten keresztül, de egyszerű, gyors és biztonságos módszert fogunk látni.

Az rsync használata külső biztonsági mentésekhez

Az rsync többféle módon is konfigurálható a külső biztonsági mentésekre, de az SSH-n keresztül az rsync alagútrendszer legegyszerűbb (legegyszerűbb és legbiztonságosabb) módszerét is átmegyünk. A legtöbb kiszolgáló és még sok ügyfél már rendelkezik SSH-val, és használható az rsync biztonsági mentésekhez. Megmutatjuk Önnek azt a folyamatot, amelynek során egy Linux-gépet készítsen a helyi hálózatba másolásra. A folyamat pontosan ugyanaz lenne, ha valahol egy adott fogadó az interneten lenne, csak vegye figyelembe, hogy a 22-es portot (vagy bármilyen portot, amelyre az SSH konfigurálva van) továbbítani kell a szerver oldalán lévő bármely hálózati eszközön.

A kiszolgálón (a számítógépen, amelyik megkapja a biztonsági mentéseket), győződjön meg róla, hogy az SSH és az rsync telepítve van.

# yum -y install ssh rsync

# sudo apt-get install ssh rsync

Az SSH és az rsync telepítésén kívül a kiszolgálón minden, amit valóban meg kell tenni, a tárolóhelyek beállítása azon a kiszolgálón, ahol szeretné biztonsági másolatot készíteni a fájlokat, és győződjön meg róla, hogy az SSH le van zárva. Győződjön meg róla, hogy az általa tervezett felhasználó összetett jelszóval rendelkezik, és érdemes átállítani az SSH hallgatásához használt portot (alapértelmezett 22).

Mi ugyanazt a parancsot futtatjuk, amit az rsync használatára használtunk egy helyi számítógépen, de fel kell tüntetnünk a szükséges kiegészítéseket az SSH-n keresztüli r tunnseléshez a helyi hálózaton lévő kiszolgálóhoz. A "192.168.235.137" -re csatlakozó "geek" felhasználónak és ugyanazoknak a kapcsolóknak a használatával (a -av -delete) a következőket futtatjuk:

$ rsync -av –delete -e ssh /Directory1/ [email protected]:/Directory2/

Ha SSH hallgat néhány 22-es porton, akkor meg kell adnia a port számát, például ebben a példában, ahol a 12345 portot használom:

$ rsync -av –delete -e 'ssh -p 12345' /Directory1/ [email protected]:/Directory2/

Amint azt a fenti képernyőfelvétről láthatod, a hálózatról történő biztonsági mentés során adott kimenet nagyjából ugyanaz, mint a helyben történő biztonsági mentés során, az egyetlen változtatás az a parancs, amelyet használsz. Vegye figyelembe, hogy jelszót kér.Ez az SSH-vel való hitelesítés. Beállíthatja az RSA kulcsokat, hogy kihagyja ezt a folyamatot, ami szintén egyszerűsíti az rsync automatizálását.
Amint azt a fenti képernyőfelvétről láthatod, a hálózatról történő biztonsági mentés során adott kimenet nagyjából ugyanaz, mint a helyben történő biztonsági mentés során, az egyetlen változtatás az a parancs, amelyet használsz. Vegye figyelembe, hogy jelszót kér.Ez az SSH-vel való hitelesítés. Beállíthatja az RSA kulcsokat, hogy kihagyja ezt a folyamatot, ami szintén egyszerűsíti az rsync automatizálását.

Az rsync biztonsági mentések automatizálása

A Cron használható Linuxon a parancsok végrehajtásának automatizálásához, mint például az rsync. A Cron használatával a Linux rendszerünk éjszakai biztonsági másolatot készíthet, vagy gyakran szeretné, ha futnak.

A cron asztalt tartalmazó fájl szerkesztéséhez a következő felhasználóként jelentkezzen be: futtassa:

$ crontab -e

A fájl szerkesztéséhez ismernie kell a vi-t. Írja be az "I" -t a beillesztéshez, majd kezdje el a cron táblázatot.

A Cron a következő szintaxist használja: az óra perce, a nap óra, a hónap napja, az év hónapja, a hét napja, parancs.

Először is egy kicsit zavaros, szóval hadd adjak egy példát. A következő parancs futtatja az rsync parancsot minden este 22: 00-kor:

0 22 * * * rsync -av --delete /Directory1/ /Directory2/

Az első "0" meghatározza az óra percét, a "22" pedig 10 óra. Mivel ezt a parancsot naponta szeretnénk futtatni, a többi mezőt csillagokkal hagyjuk, majd beillesztjük az rsync parancsot.

A Cron konfigurálásának befejezése után nyomja meg a escape parancsot, majd írja be a ": wq" -t (idézőjelek nélkül), majd nyomja meg az enter billentyűt. Ez megmenti a változásait vi.

A Cron sokkal mélyebbre tehet szert, mint ez, de folytatódni fog ez túlmutat ezen a bemutatón. A legtöbb ember csak egyszerű heti vagy napi biztonsági másolatot szeretne, és amit bemutattunk, könnyen megvalósíthatja. További információk a Cron-ról, kérjük, olvassa el a man oldalakat.

Egyéb hasznos funkciók

Egy másik hasznos dolog, amit tehetünk, a biztonsági mentéseket zip fájlba helyezzük. Meg kell adnia, hogy hol szeretné elhelyezni a zip fájlt, majd rsyncálja azt a könyvtárat a biztonsági mentés könyvtárába. Például:

$ zip /ZippedFiles/archive.zip /Directory1/ && rsync -av --delete /ZippedFiles/ /Directory2/

A fenti parancs a fájlokat a Directory1 könyvtárból, a /ZippedFiles/archive.zip fájlba helyezi, majd rákattint a Directory2 könyvtárra. Kezdetben valószínűleg úgy gondolja, hogy ez a módszer hatalmas biztonsági mentésekre hatékonynak bizonyulna, figyelembe véve, hogy a zip fájl minden alkalommal megváltozik, amikor a legkisebb módosítás történik egy fájlban. Az rsync azonban csak a megváltozott adatokat továbbítja, tehát ha a zip fileja 10 GB, majd hozzáad egy szövegfájlt a Directory1-hez, az rsync tudni fogja, hogy mindezt hozzáadta (bár zipben van), és csak néhány kilobájtot a megváltozott adatokból.
A fenti parancs a fájlokat a Directory1 könyvtárból, a /ZippedFiles/archive.zip fájlba helyezi, majd rákattint a Directory2 könyvtárra. Kezdetben valószínűleg úgy gondolja, hogy ez a módszer hatalmas biztonsági mentésekre hatékonynak bizonyulna, figyelembe véve, hogy a zip fájl minden alkalommal megváltozik, amikor a legkisebb módosítás történik egy fájlban. Az rsync azonban csak a megváltozott adatokat továbbítja, tehát ha a zip fileja 10 GB, majd hozzáad egy szövegfájlt a Directory1-hez, az rsync tudni fogja, hogy mindezt hozzáadta (bár zipben van), és csak néhány kilobájtot a megváltozott adatokból.

A rsync biztonsági másolatainak titkosítása különböző módokon lehetséges. A legegyszerűbb módszer a titkosítás telepítése a merevlemezre (a fájlok biztonsági mentése). Egy másik módja a fájlok titkosítása, mielőtt elküldené őket egy távoli kiszolgálóra (vagy más merevlemezre, akármi esetleges biztonsági másolatot készít). Ezeket a módszereket későbbi cikkekben ismertetjük.

Bármely lehetőség és funkció közül választhat, az rsync bizonyult az egyik leghatékonyabb és sokoldalú biztonsági mentési eszköznek, és még egy egyszerű rsync parancsfájl is megmenthet az adatok elvesztésében.

Ajánlott: