Biztonsági másolatok készítése és visszaállítása az ubuntuban
A kiszolgálók elhelyezése megbízható európai adatközpontokba. Nyissa meg a felhőalapú VPS / VDS szervert gyors SSD-ken 1 percen belül!
Legjobb tárhely:
- védi az adatokat a nem kívánt hozzáféréstől egy védett európai adatközpontban
- elfogadja a fizetést legalább a bitcoinban.
- elosztja terjesztését
- védelem a DDos támadásoktól
- mentes mentés
- Uptime 99.9999%
- Adatközpont - TIER III
- szolgáltató - TIER I
Támogatjuk az oroszban 24/7/365 Jogi személyekkel és természetes személyekkel dolgozunk. Most szüksége van 24 magra és 72 GB RAM-ra. Kérlek!
Kedvező tarifáink bizonyítják, hogy még nem tudta az olcsó tárhelyet!
Perc: válassza ki a konfigurációt, a fizetést és a CMS-t a VPS készen áll.
Pénzvisszafizetés - 30 nap!
Bankkártyák, e-deviza, Qiwi, Webmoney, PayPal, Novoplat stb.
Kérdezzen a 24/7/365 támogatáshoz
Válaszokat talál az adatbázisunkban, és ismerkedjen meg az ajánlásokkal
A Redis egy hatalmas kulcs-érték tároló. A Redis adatok alapértelmezés szerint a .rdb formátumban lesznek mentve a lemezre, amely egy adott időpontban a Redis adatkészlet pillanatképe. Az ilyen pillanatfelvételek rendszeres időközönként készülnek, ezért ideálisak a mentéshez.
Ez a bemutató megtanítja Önt, hogyan készítsen biztonsági mentést az Ubuntu 14.04 szerver Redis adatbázisáról.
követelmények
- Ubuntu kiszolgáló 14.04.
- Előre telepített Redis szerver (telepítéséhez kövesse a jelen kézikönyv fő kiszolgálójának telepítését és konfigurálását).
- Javasoljuk továbbá, hogy erős jelszót telepítsen a Redis számára (a jelszó a /etc/redis/redis.conf fájlban található).
1: Adatkatalógus Redis
A Redis tárolja az adatokat a kiszolgálón lévő könyvtárban. Keresse meg ezt a könyvtárat.
Az Ubuntuban és más Linux disztribúciókban a Redis adatkönyvtár alapértelmezés szerint a / var / lib / redis könyvtárban található. Talán megváltoztattad ezt a könyvtárat. A Redis adatkönyvtár megkereséséhez írja be:
sudo keresse * rdb
A redis-cli vonalon is megtalálható:
Ha a Redis kiszolgáló nem fut, a parancs visszatér:
Nem sikerült csatlakozni a Redishez 127.0.0.1:6379 esetén: A kapcsolat megtagadta
nincs csatlakoztatva>
Indítsa el a Redis-t és csatlakozzon újra:
sudo service redis-server start
Redis-cli
A parancssor így fog kinézni:
Az adatkönyvtár hitelesítéséhez és megismeréséhez írja be:
auth jelszóval Redis
config get dir
Az utolsó parancs megjeleníti az adatkönyvtárat.
1) "dir"
2) "/ var / lib / redis"
Megjegyzés. Ha a Redis egy másik adatkönyvtárat használ, győződjön meg róla, hogy a "/ var / lib / redis" helyett ezt a könyvtárat használja.
Zárja be az adatbázis parancssorát:
Ebben benne lesz a dump.rdb fájl, amelyben a Redis adatai tárolódnak. Ha a függelék engedélyezve van a kiszolgálón, akkor a könyvtár tartalmazhatja az appendonly.aof fájlt vagy a .aof kiterjesztésű egyéb fájlokat is, amelyek tárolják a kiszolgáló által beérkezett összes írási művelet naplóit.
Megjegyzés. A .rdb fájl az aktuális pillanatfelvétel, a .aof fájl pedig a Redis történetét tárolja. További információ ezekről a fájlokról itt található.
2: Adatok hozzáadása (opcionális)
Teszt adat létrehozása és hozzáadása az adatbázisba. Ha a kiszolgáló már rendelkezik adatokkal, hagyja ki ezt a részt.
Nyissa meg a parancssori felületet:
Adjon hozzá vizsgálati adatokat; a kiszolgálónak minden parancs után OK-nak kell lennie:
SET formák: 3 oldalas háromszögek
SET formák: "4 oldalas" négyzetek
Ellenőrizze, hogy az adatok hozzáadva voltak-e:
GET formák: háromszögek
GET formák: négyzetek
A parancs kimenete így fog kinézni:
"3 oldal"
"4 oldal"
Mentse az adatokat, hogy megjelenjen a /var/lib/redis/dump.rdb fájlban.
Zárja be a parancssorból:
Ellenőrizze a dump fájl tartalmát. Új adatokkal kell rendelkeznie a gépileg olvasható formátumban.
sudo cat /var/lib/redis/dump.rdb
REDIS0006? Formák: négyzetek 4 oldalfalak: háromszögek3 oldalak. C
Hozzon létre egy példányt az adatbázisból (például a felhasználó saját könyvtárában).
sudo cp /var/lib/redis/dump.rdb / home / 8host / redis-backup-001
Megjegyzés. Ha nagy mennyiségű adatmentés közben nem kockáztatja meg a veszteséget, egyszerűen másolja át a fájlt frissítése nélkül.
Az adatbázis állapotának fenntartása
A Redis adatok legfrissebb példányának megnyitásához nyissa meg a Redis parancssort és adja át a hitelesítést, majd futtassa a parancsot:
Ezután zárja be az adatbázist. Most futtassa újra a cp parancsot. Így megkapja az adatok legfrissebb verzióját.
4: Automatikus adatmásolás beállítása
Ennek számos eszköze van. A Rdiff-backup egy parancssori eszköz.
A rdiff-backup telepítéséhez írja be:
sudo apt-get install -y rdiff-backup
Most próbálja meg biztonsági mentést készíteni az adatkönyvtárban a főkönyvtárban.
Ha a célkönyvtár nem létezik, a parancsfájl létrehozza.
A -preserve-numerical-ids zászló megőrzi a forrás- és célkönyvtár jogosultságait.
sudo rdiff-backup -preserve-numerical-ids / var / lib / redisz / home / 8host / redis
Ez a parancs egyszer létrehoz egy biztonsági másolatot. De, a cp-vel ellentétben, a teljes könyvtárat másolja / var / lib / redis.
Most be kell állítania a cron démont úgy, hogy a kiszolgáló egyszerre biztonsági másolatot készít az adatokról. Nyitott crontab:
Adja hozzá a fájl végét:
0 0 * * * rdiff-backup -preserve-numerical-ids -nincs fájl statisztikák / var / lib / redis / home / 8host / redis
Most a cron minden nap éjfélkor átmásolja a Redis adatokat. A -no-file-statistics zászló kikapcsolja az írást a rdiff-backup-data könyvtárban lévő file_statistics-be, így a rdiff-backup jobban fog működni és kevesebb helyet foglal.
A napi biztonsági mentéshez is használhatja ezt a rekordot:
@daily rdiff-backup -preserve-numerical-ids -no-file-statisztikák / var / lib / redis / home / 8host / redis
A fájlok a felhasználó redishez tartoznak. Győződjön meg róla, hogy az összes fájl helyén van a következő paranccsal:
ls -l / home / 8host / redis
összesen 20
-rw-rw ---- 1 redis redis 70 szeptember 14 13:13 dump.rdb
drwx ------ 3 root root 12288 szept 14 13:49 rdiff-backup-data
-rw-r ----- 1 redis redis 119 szeptember 14 13:09 redis-staging-ao.aof
A Redis adatokat naponta másolják és tárolják a saját könyvtárban.
5. ábra: Redis adatvisszanyerés
Most meg kell tanulnod, hogyan lehet visszaszerezni az adatokat a dump.rdb fájlból.
A biztonsági mentés visszaállításának folyamata az aktuális Redis adatbázist helyettesíteni fogja a dumpból származó adatokkal.
Megjegyzés. Mivel ez az eljárás károsíthatja a kiszolgálót, ajánlatos egy friss Redis kiszolgálón futtatni, ha lehetséges. Mindenesetre nem törölheted, de átnevezheted a fájlt az aktuális adatbázisból, amit ebben a kézikönyvben fogunk megtenni.
Ellenőrizze a mentést
Először ellenőrizni kell a dump.rdb fájlt, és győződjön meg róla, hogy pontosan tartalmazza a szükséges adatokat.
sudo cat /home/gilly/redis/dump.rdb
A kimenet így lesz:
REDIS0006? Formák: háromszögek3 oldalfalak: négyzetek4 oldalak. ^? \.
Ha az utolsó biztonsági mentés üres, ne folytassa a helyreállítást.
Az adatvesztés szimulációja (opcionális)
Most szimulálja az adatok elvesztését a gépen, majd helyreállítja őket egy biztonsági mentésből.
Nyissa meg a Redis parancssort
Ez a parancssor hitelesíti a Redis-t, és eltávolítja az alakzatokat: a háromszögek bevitele.
auth insert-redis-password-itt
DEL formák: háromszögek
Győződjön meg róla, hogy a bejegyzést törölték:
A csapatnak vissza kell térnie:
Az eredmény mentéséhez és kilépéshez írja be:
Új Redis kiszolgáló konfigurálása (opcionális)
Ha egy új Redis kiszolgálón kíván adatbázis-helyreállítást végrehajtani, készítsen elő ilyen szervert.
Annak ellenőrzéséhez, hogy a Redis fut-e új kiszolgálón, írja be:
redis-benchmark -q -n 1000 -c 10 -P 5
Redis megállítása
Mielőtt kicserélné a Redis dump fájlt, le kell állítania az aktuális Redis példányt.
Megjegyzés. Ebben az esetben az adatbázis nem lesz elérhető.
sudo szolgáltatás redis-server stop
Redis-server leállítása: redis-server
Ellenőrizze, hogy a szerver leállt-e:
sudo service redis-server állapot
a redis-server nem fut
Ezután át kell neveznie az aktuális adatbázist.
Átnevezheti az aktuális dump.rdb fájlt
A Redis az adatokat a dump.rdb fájlból olvassa le. Átnevezheti az aktuális fájlt az előzőleg másolt fájl visszaállításához.
Az AOF letiltása (opcionális)
Az AOF az írásokat a Redis adatbázisba menti. Ebben az esetben azonban csak a dumpot kell visszaállítani, akkor nem kell visszaállítani az összes írási műveletet az AOF fájlból.
Megjegyzés. Ha a Redis kiszolgálót az útmutatónak megfelelően konfigurálta. Az AOF támogatás engedélyezve van.
Kérheti a / var / lib / redis / könyvtár tartalmát. Ha van .aof fájl, az AOF támogatás engedélyezve van.
Nevezze át a .aof fájlt ideiglenesen letiltásához. A következő parancs átnevezi az .aof kiterjesztésű összes fájlt. Ha egynél több ilyen fájl van a kiszolgálón, kézzel nevezze át a szükséges fájlt, és ne használja ezt a parancsot.
sudo mv /var/lib/redis/*.aof /var/lib/redis/appendonly.aof.old
Módosítsa a Redis konfigurációkat az AOF átmenetileg letiltásához.
sudo nano /etc/redis/redis.conf
Az AOF szakaszban keresse meg a mellékelt irányelvet, és értékét megváltoztassa:
A dump.rdb fájl helyreállítása
Most visszaállíthatja a /home/8host/redis/dump.rdb fájlban tárolt dumpot.
Ha új szerverre helyezi vissza az adatokat, töltse fel a dump fájlt:
scp /home/8host/redis/dump.rdb 8host @ your_new_redis_server_ip: /home/8host/dump.rdb
Függetlenül attól, hogy melyik kiszolgálóról kíván adatokat kinyerni, futtassa a cp parancsot a fájl átmásolásához a / var / lib / redis fájlba.
sudo cp -p /home/8host/redis/dump.rdb / var / lib / redis
Megjegyzés. Ha feltölti a fájlt a /home/8host/dump.rdb fájlra, használja a következő parancsot:
sudo cp -p /home/8host/dump.rdb / var / lib / redis
Ha rdiff-backup-t szeretne használni, futtassa a következő parancsot:
sudo rdiff-backup -r most /home/8host/redis/dump.rdb /var/lib/redis/dump.rdb
Megjegyzés. A parancs csak akkor működik, ha a visszaállított könyvtárat a rdiff-backup segítségével másolták.
A -r opcióval kapcsolatos további információkért lásd a hivatalos dokumentációt (lásd a kézikönyv végén).
Engedélyek a dump.rdb fájlban
Ha visszaállít egy biztonsági másolatot a régi szerveren, valószínű, hogy a jogosultságok már megfelelően vannak beállítva.
Ha átmásolta a dumpot egy új szerverre, frissítenie kell a jogosultságokat.
ls -la / var / lib / redis /
-rw-r ----- 1 8host 8host 70 feb 25 15:38 dump.rdb
-rw-rw ---- 1 redis redis 4137 február 25. 15:36 dump.rdb.old
Adja át a fájlt a felhasználónak és a csoport újra.
sudo chown redis: redis /var/lib/redis/dump.rdb
Adja meg a csoportnak azt a jogot, hogy írjon a fájlba:
sudo chmod 660 /var/lib/redis/dump.rdb
Kérje ismét a fájlt:
ls -la / var / lib / redis /
-rw-rw ---- 1 redis redis 70 feb 25 15:38 dump.rdb
-rw-rw ---- 1 redis redis 4137 február 25. 15:36 dump.rdb.old
Megjegyzés. Ha a Redis szerver a fájl visszaállítása előtt dolgozik, és most nem indul el, és hibaüzenet jelenik meg:
Nem sikerült csatlakozni a Redishez 127.0.0.1:6379 esetén: A kapcsolat megtagadta
Ha hibát okoz:
Végzetes hiba a DB betöltésében: Engedély megtagadva. Kilépés.
ellenőrizze a dump.rdb fájl engedélyeit.
Run Redis
A Redis indításához adja meg:
sudo service redis-server start
Az adatbázis tartalmának ellenőrzése
Nyissa meg a Redis parancssort:
GET formák: háromszögek
"3 oldal"
Ha a csapat ezt a választ visszaküldte, az adatok sikeresen helyreálltak.
Az AOF engedélyezése (opcionális)
Ha engedélyezni szeretné az AOF támogatását, menjen vissza a Redis parancssorba:
BGREWRITEAOF
A háttérképhez csak a fájl újraírása indul
Ezután futtassa az info parancsot:
Keresse meg a kimeneten lévő Perzisztencia részt, és győződjön meg róla, hogy a bejegyzések a megadott adatoknak megfelelnek. Ha aof_rewrite_in_progress értéke nulla, az AOF támogatás sikeresen visszaállt.
# Perzisztencia
.
aof_enabled: 0
aof_rewrite_in_progress: 0
aof_rewrite_scheduled: 0
aof_last_rewrite_time_sec: 0
a_current_rewrite_time_sec: -1
aof_last_bgrewrite_status: ok
aof_last_write_status: ok
Ezt követően bezárhatja a Redis parancssort:
Ellenőrizze a / var / lib / redis fájlokat.
Most a könyvtárban van egy fájl a .aof kiterjesztéssel (például appendonly.aof vagy redis-staging-ao.aof).
A Redis kiszolgáló leállítása:
sudo szolgáltatás redis-server stop
Az AOF támogatás engedélyezése a redis.conf konfigurációs fájlban:
sudo nano /etc/redis/redis.conf
mégpedig igen
Redis ismét:
sudo service redis-server start