Faceți copii de rezervă și restaurați datele redistribuite în ubuntu

Plasarea serverelor în centre de date fiabile din Europa. Deschideți serverul VPS / VDS bazat pe cloud pe SSD-uri rapide în 1 minut!

Cel mai bun Gazduire:
- protejează datele de accesul nedorit într-un centru de date european protejat






- va accepta plata cel puțin în taxe.
- vă va permite să vă distribuiți distribuția

- protecția împotriva atacurilor DDos
- copie de rezervă gratuită
- Uptime 99.9999%
- Centrul de date - TIER III
- furnizor - TIER I

Sprijinim în limba rusă 24/7/365 Lucrăm cu persoane juridice și persoane fizice. Acum aveți nevoie de 24 nuclee și 72 GB de memorie RAM. Vă rog!

Tarifele noastre avantajoase vor dovedi că nu ați știut încă ieftinul de găzduire!

Minute: selectați configurația, plătiți și CMS de pe VPS este gata.
Banii înapoi - 30 de zile!

Carduri bancare, e-valută, prin intermediul terminalelor Qiwi, Webmoney, PayPal, Novoplat etc.

Puneți o întrebare la sprijinul 24/7/365

Găsiți răspunsuri în baza noastră de date și cunoașteți recomandările

Redis este un magazin puternic de valoare-cheie. Datele Redis sunt salvate pe disc în format .rdb în mod implicit, care este un instantaneu al setului de date Redis la un moment dat. Astfel de instantanee se fac la intervale regulate și, prin urmare, sunt ideale pentru backup.

Acest tutorial vă va învăța cum să creați copii de rezervă ale bazei de date Redis pe serverul Ubuntu 14.04.

cerinţe

  • Server Ubuntu 14.04.
  • Serverul Redis preinstalat (pentru al instala, urmați secțiunea privind instalarea și configurarea serverului principal al acestui manual).
  • De asemenea, este recomandat să instalați o parolă puternică pentru Redis (parola este în /etc/redis/redis.conf).

1: Catalogul de date Redis

Redis stochează datele într-un director de pe server. Găsiți acest director.

În Ubuntu și în alte distribuții Linux, directorul de date Redis este în mod implicit localizat în / var / lib / redis. Poate că ai schimbat acest director. Pentru a găsi directorul de date Redis, tastați:

sudo localizați * rdb

De asemenea, îl puteți găsi utilizând linia redis-cli:

Dacă serverul Redis nu rulează, comanda va reveni:

Nu s-a putut conecta la Redis la 127.0.0.1:6379: conexiunea a fost refuzată
nu este conectat>

Porniți Redis și conectați din nou:

serviciul sudo redis-server începe
Redis-cli

Linia de comandă va arăta astfel:

Pentru a autentifica și a afla directorul de date, introduceți:

auth parolă Redis
config dir dir

Ultima comandă afișează directorul de date.

1) "dir"
2) "/ var / lib / redis"

Notă. Dacă Redis utilizează un alt director de date, asigurați-vă că înlocuiți "/ var / lib / redis" cu acest director.

Închideți linia de comandă a bazei de date:

În el, veți vedea fișierul dump.rdb, în ​​care sunt stocate datele Redis. Dacă serverul este activat AppendOnly, directorul poate conține, de asemenea, appendonly.aof fișier sau un alt fișier cu extensia .aof, care jurnalele magazin de toate operațiunile de a scrie, a primit de server.

Notă. Fișierul .rdb este snapshot-ul curent, iar fișierul .aof stochează istoricul Redis. Mai multe informații despre aceste fișiere pot fi găsite aici.

2: Adăugarea datelor (opțional)

Creați datele de testare și adăugați-le în baza de date. Dacă serverul are deja date, sări peste această secțiune.

Deschideți interfața de comandă:

Adăugați date de testare; serverul trebuie să răspundă OK după fiecare comandă:

Forme SET: triunghiuri "3 fețe"
Forme SET: pătrate "4 laturi"

Verificați dacă datele au fost adăugate:

Obțineți forme: triunghiuri
Obțineți forme: pătrate

Ieșirea comenzilor va arăta astfel:

"3 fețe"
"4 fețe"

Salvați datele astfel încât să apară în /var/lib/redis/dump.rdb.

Închideți linia de comandă:

Verificați conținutul fișierului cu memorie. Ar trebui să aibă date noi în format citibil în mașină.

sudo cat /var/lib/redis/dump.rdb
REDIS0006? Forme: pătrate4 sidesshapes: triunghiuri3 laturi? O. C

Creați o copie a bazei de date (de exemplu, în directorul de acasă al utilizatorului).

sudo cp /var/lib/redis/dump.rdb / home / 8host / redis-backup-001

Notă. Dacă nu pierdeți riscul de a pierde în timpul copierii unor cantități mari de date, copiați fișierul fără să îl actualizați.

Menținerea stării bazei de date

Pentru a obține cea mai recentă copie a datelor Redis, deschideți linia de comandă Redis și treceți autentificarea, apoi executați comanda:

După aceea, închideți baza de date. Acum rulați din nou comanda cp. Deci, obțineți cea mai actualizată versiune a datelor.

4: Configurarea copierii automate a datelor

Există mai multe instrumente pentru acest lucru. Rdiff-backup este un instrument de linie de comandă.

Pentru a instala rdiff-backup, tastați:

sudo apt-get a instala -y rdiff-backup

Acum, încercați să creați copii de siguranță ale directorului de date din directorul de domiciliu.

Dacă directorul țintă nu există, scriptul îl va crea.

Fișierul -preserve-numeric-ids păstrează privilegiile directorului sursă și țintă.

sudo rdiff-backup -preserve-numeric-ID-uri / var / lib / redis / home / 8host / redis

Această comandă va crea o copie de siguranță o singură dată. Dar, spre deosebire de cp, va copia întregul director / var / lib / redis.







Acum trebuie să configurați daemonul cron astfel încât serverul să susțină automat datele în același timp. Deschide crontab:

Adăugați la sfârșitul fișierului:

0 0 * * * rdiff-backup -preserve-numeric-ids -no-fișier-statistici / var / lib / redis / home / 8host / redis

Acum, cron va copia datele Redis la miezul nopții în fiecare zi. Flag -no-file-statistici fără înregistrare din fișierul în directorul de file_statistics rdiff-backup-date, permițând rdiff-backup va rula mai rapid și ocupă mai puțin spațiu.

De asemenea, pentru backup zilnic puteți folosi această înregistrare:

@daily rdiff-backup -preserve-numeric-ids -no-fișier-statistici / var / lib / redis / home / 8host / redis

Fișierele aparțin utilizatorului redis. Asigurați-vă că toate fișierele sunt instalate utilizând comanda:

ls -l / home / 8host / redis
total 20
-rw-rw ---- 1 redis redis 70 Sep 14 13:13 dump.rdb
drwx ------ 3 rădăcină rădăcină 12288 Sep 14 13:49 rdiff-backup-data
-rw-r ----- 1 redis redis 119 Sep 14 13:09 redis-staging-ao.aof

Acum, datele Redis sunt copiate zilnic și stocate în directorul de acasă.

5: Recuperarea datelor recuperate

Acum trebuie să învățați cum să recuperați datele din fișierul dump.rdb.

Procedura de restabilire a copiei de rezervă va înlocui baza de date Redis actuală cu datele recuperate din depozit.

Notă. Deoarece această procedură poate dăuna serverului, este recomandat să îl rulați pe un server Redis proaspăt, dacă este posibil. În orice caz, nu puteți șterge, ci redenumiți fișierul din baza de date curentă, pe care o vom face în acest manual.

Verificați copia de siguranță

În primul rând, trebuie să verificați fișierul dump.rdb și să vă asigurați că acesta conține exact datele de care aveți nevoie în acest moment.

sudo cat /home/gilly/redis/dump.rdb

Rezultatul va fi ceva de genul:

REDIS0006? Forme: triunghiuri3 sidesshapes: pătrate4 laturi. ^? \.

Dacă ultima copie de rezervă este goală, nu continuați recuperarea.

Simularea pierderii datelor (opțional)

Acum, simulați pierderea de date pe mașină, apoi le recuperați dintr-o copie de rezervă.

Deschideți promptul de comandă Redis

Această secvență de comandă se va autentifica cu Redis și va elimina intrările triunghiurilor.

auth insert-redis-password-aici
Forme DEL: triunghiuri

Asigurați-vă că intrarea a fost ștearsă:

Echipa ar trebui să se întoarcă:

Pentru a salva rezultatul și pentru a ieși, introduceți:

Configurarea unui server Redis nou (opțional)

Dacă intenționați să efectuați recuperarea bazei de date pe un nou server Redis, pregătiți un astfel de server în avans.

Pentru a verifica dacă Redis rulează pe un server nou, tastați:

redis-benchmark -q -n 1000 -c 10 -P 5

Oprirea lui Redis

Înainte de a înlocui fișierul de memorie Redis, trebuie să opriți instanța curentă Redis.

Notă. În acest caz, baza de date va fi indisponibilă.

serviciul sudo redis-server stop
Oprirea redis-server: redis-server

Verificați că serverul sa oprit:

stadiul serverului redes-server al serviciului sudo
redis-server nu rulează

După aceasta, trebuie să redenumiți baza de date curentă.

Redenumiți fișierul curent dump.rdb

Redis își citește datele din fișierul dump.rdb. Redenumiți fișierul curent pentru a restaura fișierul copiat anterior.

Dezactivarea AOF (opțional)

AOF urmărește scrierea în baza de date Redis. Cu toate acestea, în acest caz, trebuie să restaurați numai memoria, nu este necesar să restaurați toate operațiile de scriere din fișierul AOF.

Notă. Dacă ați configurat serverul Redis în conformitate cu acest ghid. Suportul AOF este activat.

Puteți solicita conținutul directorului / var / lib / redis /. Dacă are un fișier .aof, este activat suportul AOF.

Redenumiți fișierul .aof pentru al dezactiva temporar. Următoarea comandă va redenumi toate fișierele cu extensia .aof. Dacă pe server există mai mult de un astfel de fișier, redenumiți manual fișierul necesar și nu utilizați această comandă.

sudo mv /var/lib/redis/*.aof/var/lib/redis/appendonly.aof.old

Editați configurațiile Redis pentru a dezactiva temporar AOF.

sudo nano /etc/redis/redis.conf

În secțiunea AOF, găsiți directiva adițională și modificați valoarea acesteia la nr:

Recuperarea fișierului dump.rdb

Acum puteți restaura dump-ul, care este stocat în /home/8host/redis/dump.rdb.

Dacă restaurați date pe un server nou, încărcați fișierul cu memorie la el:

scp /home/8host/redis/dump.rdb 8host @ your_new_redis_server_ip: /home/8host/dump.rdb

Indiferent de serverul pe care îl recuperați, rulați comanda cp pentru a copia fișierul în / var / lib / redis.

sudo cp -p /home/8host/redis/dump.rdb / var / lib / redis

Notă. Dacă încărcați fișierul în /home/8host/dump.rdb, utilizați comanda:

sudo cp -p /home/8host/dump.rdb / var / lib / redis

Dacă doriți să utilizați rdiff-backup, executați următoarea comandă:

sudo rdiff-backup -r acum /home/8host/redis/dump.rdb /var/lib/redis/dump.rdb

Notă. Comanda va funcționa numai dacă directorul restaurat a fost copiat utilizând rdiff-backup.

Pentru mai multe informații despre opțiunea -r, consultați documentația oficială (consultați sfârșitul manualului).

Permisiuni pe dump.rdb

Dacă restaurați o copie de siguranță pe vechiul server, este posibil ca privilegiile să fie deja setate corect.

Dacă ați copiat un depozit la un nou server, trebuie să actualizați privilegiile.

ls -la / var / lib / redis /
-rw-r ----- 1 8host 8host 70 Feb 25 15:38 dump.rdb
-rw-rw ---- 1 redis redis 4137 25 februarie 15:36 dump.rdb.old

Treceți fișierul la utilizator și grupul redis.

sudo chown redis: redis /var/lib/redis/dump.rdb

Oferiți grupului dreptul de a scrie în dosar:

sudo chmod 660 /var/lib/redis/dump.rdb

Solicitați din nou dosarul:

ls -la / var / lib / redis /
-rw-rw ---- 1 redis redis 70 Feb 25 15:38 dump.rdb
-rw-rw ---- 1 redis redis 4137 25 februarie 15:36 dump.rdb.old

Notă. Dacă serverul Redis funcționa înainte de a restaura fișierul și acum nu pornește și nu întoarce o eroare:

Nu s-a putut conecta la Redis la 127.0.0.1:6379: conexiunea a fost refuzată

Dacă produce o eroare:

Eroare fatală la încărcarea DB: Permisiunea a fost respinsă. Părăsirea.

verificați permisiunile din fișierul dump.rdb.

Rulați Redis

Pentru a porni Redis, tastați:

serviciul sudo redis-server începe

Verificarea conținutului bazei de date

Deschideți linia de comandă Redis:

Obțineți forme: triunghiuri
"3 fețe"

Dacă echipa a returnat un astfel de răspuns, atunci datele au fost restaurate cu succes.

Activarea AOF (opțional)

Dacă doriți să activați asistența AOF, reveniți la linia de comandă Redis:

BGREWRITEAOF
Aplicația de fundal a fost inițiată doar pentru rescrierea fișierelor

Apoi rulați comanda info:

Găsiți secțiunea Persistență în ieșire și asigurați-vă că intrările aof corespund informațiilor date. Dacă aof_rewrite_in_progress este zero, suportul AOF este restaurat cu succes.

# Persistență
.
aof_enabled: 0
aof_rewrite_in_progress: 0
aof_rewrite_scheduled: 0
aof_last_rewrite_time_sec: 0
aof_current_rewrite_time_sec: -1
aof_last_bgrewrite_status: ok
aof_last_write_status: ok

După aceasta, puteți închide linia de comandă Redis:

Verificați fișierele din / var / lib / redis.

Acum, în director va fi un fișier cu extensia .aof (de exemplu, appendonly.aof sau redis-staging-ao.aof).

Opriți serverul Redis:

serviciul sudo redis-server stop

Activați suportul AOF în fișierul de configurare redis.conf:

sudo nano /etc/redis/redis.conf
Apendonat da

Rulați din nou Redis:

serviciul sudo redis-server începe

concluzie







Articole similare

Trimiteți-le prietenilor: