1. Báza znalostí
  2. Cloud a servery
  3. Virtuálny server (VPS)
  4. Obnova webovej stránky zo záloh na virtuálnom serveri
  1. Báza znalostí
  2. Cloud a servery
  3. Obnova webovej stránky zo záloh na virtuálnom serveri

Obnova webovej stránky zo záloh na virtuálnom serveri

V nasledujúcej časti si ukážeme postup obnovy webu, alebo aplikácie zo zálohy, ktorá je dostupná na virtuálnom serveri. Bežné stránky ukladajú údaje do súborov a do databázy. V návode si teda popíšeme, ako obnoviť zvášť súbory a ako obnoviť databázu.

Požiadavky na server

  • Návod je písaný pre aktuálne distribúcie OS Ubuntu LTS (14.04, 16.04, 18.04)
  • Na server je potrebné mať prístup cez protokol SSH, s root (alebo sudo privilégia)
  • Ku serveru je potrebné mať zakúpenú službu Zálohovanie servera

Ako prvý krok skontrolujeme aktuálnosť záloh cez webadmina. Zálohy sa nachádzajú mimo servera tak, aby sa nezarátavali do diskovej kapacity. Ku serveru su pripojené cez sieť, tzv. mountom do priečinka /backups. Mount skontrolujeme príkazom:

root@vps:~# mount | grep /backup
backup3.websupport.sk:/ssd_backups/vps-cust/abcdefgh-1234-5678-ijkl-mnoprstuvxyz/ on /backups type nfs
Informácia

Ak výstup neobsahuje žiaden mount a službu zálohovania servera máte zakúpenú, prosím kontaktujte našu podporu, nakoľko môže ísť o chybu.

Obnova súborov

Na obnovu súborov použijeme program rsync, ktorý je pri kopírovaní dát veľmi efektívny. V prípade že sa na Vašom VPS nenachádza, inštalácia je jednoduchá:

root@vps:~# apt-get install rsync -y

Samotné kopírovanie súborov spustíme príkazom nižšie. Používame teda program rsync, kde určujeme prepínače na archiváciu (rýchlejší prenos dát -a), na detailnejší priebeh kopírovania (verbose -v), a na prepísanie súborov tými zo zálohy (teda aby sme obnovili všetko zo zálohy –delete).

root@vps:~# rsync -av --delete <source> <destination>

Source bude v našom prípade záloha, z ktorej ideme súbory obnovovať, destination zasa cieľ, kam obnovujeme. Za predpokladu, že obnovujeme celý adresár /data/web/domena.tld/web z dátumu 20.10.2010, odporúčam použiť nasledovný príkaz:

root@vps:~# rsync -av --delete /backups/.zfs/snapshot/2010-10-20-00:30:00/root/data/web/domena.tld/web /data/web/domena.tld/web

Samotný dátum, ako aj web môžete samozrejme dynamicky meniť podľa potreby. Zálohy sú dostupné po dobu posledných 14 dní.

Obnova databázy

Kompletná obnova webu je väčšinou podmienená aj obnovou samotnej databázy. Tento krok odporúčame spraviť z rovnakého času, z akého boli obnovené súbory. Dodatočné zálohy databáz môžeme nájsť vylistovaním daného priečinku (teda napríklad pre dátum 20.10.2010):

root@vps:~# ls -la /backups/.zfs/snapshot/2010-10-20-00:30:00/mysql
total 77
drwxr-xr-x 6 root root 6 Oct 20 18:45 .
drwxr-xr-x 4 root root 4 May 30 18:55 ..
drwxr-xr-x 2 root root 9 Oct 19 18:35 2010-10-19_18-35
drwxr-xr-x 2 root root 9 Oct 20 02:40 2010-10-20_02-40
drwxr-xr-x 2 root root 9 Oct 20 10:40 2010-10-20_10-40
drwxr-xr-x 2 root root 9 Oct 20 18:45 2010-10-20_18-45

Nakoľko chceme obnoviť databázu čo najbližšie ku dátumu obnovy súborov, vyberieme čas 02:40 – teda priečinok 2010-10-20_02-40.

root@vps:~# ls -la /backups/.zfs/snapshot/2010-10-20-00:30:00/mysql/2010-10-20_02-40
total 4439
drwxr-xr-x 2 root root       9 Oct 20 02:40 ./
drwxr-xr-x 6 root root       6 Oct 20 02:40 ../
-rw-r--r-- 1 root root   57386 Oct 20 02:40 databaza.sql.gz

Následne môžeme obnoviť databázu z daného dumpu. Na spustenie tohoto príkazu potrebujeme meno databázy, meno používateľa a heslo používateľa. Najprv zálohu databázy odporúčame skopírovať napríklad do home priečinku:

root@vps:~# cp /backups/.zfs/snapshot/2010-10-20-00:30:00/mysql/2010-10-20_02-40/databaza.sql.gz ~/databaza.sql.gz

Potom databázu dekomprimujeme príkazom gunzip, čím vznikne súbor databaza.sql:

root@vps:~# gunzip ~/databaza.sql.gz

A posledným krokom importujeme zálohu databázy namiesto aktuálnej databázy (je potrebné nahradiť user_name za meno používateľa databázy, user_pass za heslo, a db_name za názov databázy):

mysql -uuser_name -puser_pass -h localhost db_name < ~/databaza.sql

Príklad ako príkaz vyzerá pri jednoduchom mene (databaza) užívateľovi (databaza) aj hesle (heslo123):

mysql -udatabaza -pheslo123 -h localhost databaza < ~/databaza.sql

Prečítajte si článok ako dokážete pristupovať ku vašim zálohám na virtuálnom serveri

Aktualizované 24. júna 2019

Bol pre vás tento návod nápomocný?

Mohlo by vás tiež zaujímať: