1. Home
  2. Cloud a servery
  3. Virtuální server (VPS)
  4. Obnova webové stránky ze záloh na virtuálním serveru

Obnova webové stránky ze záloh na virtuálním serveru

V následující části si ukážeme postup obnovy webu nebo aplikace ze zálohy, která je dostupná na virtuálním serveru. Běžné stránky ukládají údaje do souborů a do databáze. V návodu si tedy popíšeme, jak obnovit zvlášť soubory a jak obnovit databázi.

Požadavky na server

  • Návod je psaný pro aktuální distribuce OS Ubuntu LTS (14.04, 16.04, 18.04)
  • Na server je potřeba mít přístup přes protokol SSH, s root (nebo sudo privilegiemi)
  • K serveru je potřeba mít zakoupenou službu Zálohování serveru

Jako první krok zkontrolujeme aktuálnost záloh přes webadmina. Zálohy se nacházejí mimo server tak, aby se nezapočítávaly do diskové kapacity. K serveru jsou připojené přes síť, tzv. mountem do složky /backups. Mount zkontrolujeme příkazem:

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

Informace
Pokud výstup neobsahuje žádný mount a službu zálohování serveru máte zakoupenou, prosím kontaktujte naši podporu, protože může jít o chybu.

Obnova souborů

Na obnovu souborů použijeme program rsync, který je při kopírovaní dat velmi efektivní. V případě, že se na Vašem VPS nenachází, instalace je jednoduchá:

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

Samotné kopírování souborů spustíme příkazem níže. Používáme tedy program rsync, kde určujeme přepínače na archivaci (rychlejší přenos dat -a), na detailnější průběh kopírování (verbose -v), a na přepsání souborů těmi ze zálohy (tedy abychom obnovili všechno ze zálohy –delete).

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

Source bude v našem případě záloha, ze které jdeme soubory obnovovat, destination zase cíl, kam obnovujeme. Za předpokladu, že obnovujeme celý adresář /data/web/domena.tld/web z datumu 20.10.2010, doporučujeme použít následovný pří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ý datum, jako i web můžete samozřejmě dynamicky měnit podle potřeby. Zálohy jsou dostupné po dobu posledních 14 dní.

Obnova databáze

Kompletní obnova webu je většinou podmíněná i obnovou samotné databáze. Tento krok doporučujeme udělat ze stejného času, z jakého byly obnovené soubory. Dodatečné zálohy databází můžeme najít vylistováním dané složky (tedy například pro datum 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

Protože chceme obnovit databázi co nejblíže k datumu obnovy souborů, vybereme čas 02:40 – tedy složku 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ásledně můžeme obnovit databázi z daného dumpu. Na spuštění tohoto příkazu potřebujeme jméno databáze, jméno uživatele a heslo uživatele. Nejprve zálohu databáze doporučujeme zkopírovat například do home složky:

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

Potom databázi dekomprimujeme příkazem gunzip, čímž vznikne soubor databaze.sql:

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

A posledním krokem importujeme zálohu databáze namísto aktuální databáze (je potřeba nahradit user_name za jméno uživatele databáze, user_pass za heslo, a db_name za název databáze):

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

Příklad jako příkaz vypadá při jednoduchém jménu (databáze) uživateli (databáze) i hesle (heslo123):

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

Přečtěte si článek, jak dokážete přistupovat k vašim zálohám na virtuálním serveru

Aktualizováno: 19 července, 2021

Byl tento článek užitečný?

Related Articles

Zákaznická podpora
24 hodin denně, 7 dní v týdnu
KONTAKTOVAT PODPORU