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

következtetés

Kapcsolódó cikkek