ISPadmin disponuje funkcí automatického zálohování dat. Zálohy lze ukládat jak lokálně (SW/HW RAID), tak i na vzdálené uložiště (FTP, NFS, CIFS). Lokální zálohy je vhodné ukládat na jiný než systémový oddíl. Pokud by došlo k zaplnění systémového disku zálohami, mohlo by dojít k poškození systému.
Nastavení zálohování
Provádí se v Nastavení Systémové nastavení Zálohování.
Šifrování záloh systému a routerů
Šifrování záloh routerů je po instalaci vypnuté a volitelně se dá nastavit spuštěním externího scriptu z konzole linuxu pod právy root.
Heslo můžete nastavit/změnit prostřednictvím tohoto scriptu:
/usr/local/script/ispadmin/ispadmin_backup_crypt.pl
Pokud nastavíte jako heslo hodnotu -1, tak se šifrování vypne a v budoucích zálohách se již šifrování provádět nebude.
V průběhu nastavení/změny hesla budete dotázáni na zadání emailové adresy. Na tento email poté dorazí zpráva o změně hesla do záloh a bude obsahovat jak staré tak i nově nastavené heslo. Tento email buď nemažte nebo si jeho obsah vytiskněte a někam pečlivě uložte, protože při obnovení dat ze zálohy bude heslo potřeba. Není jiná možnost jej získat nebo obnovit! Před změnou šifrování zkontrolujte funkčnost odesílaní emailů ze systému. V případě selhání odesílání nebude na váš email doručena zpráva s novým a starým heslem k zálohám.
Zálohy systému a routerů
Možnost vytvořit zálohu a již vytvořené zálohy jsou dostupné v Ostatní Zálohy
Ruční záloha systému
Okamžitou zálohu systému ISPadmin je možné v příkazové řádce spustit příkazem
ispadmin_backup backup all
V tomto případě se opět provede kompletní záloha systému do adresáře /data/backup/incremental/. Celá záloha obvykle trvá mezi 10 až 30 minutami v závislosti na počtu klientů respektive na množství zálohovaných dat. Pokud máte třeba 8 GB zálohy a navíc hodně zatížený server, může to trvat i déle. Je však potřeba počítat s tím, že se může po tuto dobu projevit zpomalení webového rozhraní.
Zálohy systému - příklady
Příkazem ispadmin_backup zobrazíte nápovědu k zálohovacímu a obnovovacímu scriptu.
ispadmin_backup
+ - - - - - - - - - - - - - - - - - - - - [ ispadmin_backup ] - - - - - - - - - - - - - - - - - - - - - +
This script can help you to backup and recover of ISPamin backup easy way. Well, you can run script this way:
ispadmin_backup [help] [debug] [source-path=SRC-PATH] [path=PATH] MODE SCOPE [BID]
[PATH] Path to the ISPadmin's restore directory. Absolute or relative path can be used.
Default path is root / !!.
[SRC-PATH] Path to the ISPadmin's source directory for recovery or Backup directory. Absolute path can be used.
Default path is ISPadmin backup directory /data/backup/incremental/
[MODE] Determine function of script:
backup - backup system
restore - restore system from [PATH]
[SCOPE]
all - recover or backup all files important parts of the ISPamin (auto mode for db, etc, data)
etc - recover or backup files in /etc
db - backup the binary MySQL database (only ispadmin,system,mysql db) and backup all dump database to /db_dump
- recovery the binary MySQL database (only ispadmin,system,mysql db)
db_dump - recovery all dump databases
graph - recover or backup graph data in ISPadmin (RRD files)
scripts - recover or backup scripts of ISPadmin (/usr/local/script/ispadmin)
ispadmin - recover or backup ISPadmin data (/data/support)
[BID] Determine incremental level. If is not given, last backup will be executed as default.
First argument is required ( or backup all ) or second one is optional.
If recover MODE is not given, full recover will be executed as default!
And finaly, a simple example of usage:
ispadmin_backup restore scripts 401
ispadmin_backup path=/backup/graph/ restore all
ispadmin_backup backup
ispadmin_backup source-path=/home/toor/backup/ backup
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (c) NET service solution, s.r.o. - +
- Standardní záloha celého systému ISPadmin do defaultního adresáře /data/backup/incremental/
Po spuštění zálohy budete ještě dotázáni, zda opravdu chcete zálohu udělat:
ispadmin_backup backup all
Are you sure want to do the backup - ALL to /data/backup/incremental/ !!? [y/n]:
Zobrazení souborů zálohy:
ls -la /data/backup/incremental/
total 9
drwxr-xr-x 9 virtual virtual 1024 Mar 20 12:45 .
drwxr-xr-x 4 virtual root 1024 Mar 20 10:27 ..
drwxr-xr-x 2 virtual virtual 1024 Mar 27 09:55 db
drwxr-xr-x 2 virtual virtual 1024 Mar 27 09:55 db_dump
drwxr-xr-x 2 virtual virtual 1024 Mar 27 09:55 db_dump_last
drwxr-xr-x 2 virtual virtual 1024 Mar 27 09:55 etc
drwxr-xr-x 2 virtual virtual 1024 Mar 27 09:55 graph
drwxr-xr-x 2 virtual virtual 1024 Mar 27 09:55 ispadmin
drwxr-xr-x 2 virtual virtual 1024 Mar 27 09:55 scripts
- Záloha celého systému ISPadmin do uživatelského adresáře např. /new/backup
ispadmin_backup source-path=/new/backup backup all
Are you sure want to do the backup - ALL to /data/backup/incremental/ !!? [y/n]:
Zobrazení souborů zálohy
ls -la /new/backup/
total 9
drwxr-xr-x 9 virtual root 1024 Mar 27 10:02 .
drwxr-xr-x 3 root root 1024 Mar 27 10:02 ..
drwxr-xr-x 2 virtual virtual 1024 Mar 27 10:02 db
drwxr-xr-x 2 virtual virtual 1024 Mar 27 10:02 db_dump
drwxr-xr-x 2 virtual virtual 1024 Mar 27 10:02 db_dump_last
drwxr-xr-x 2 virtual virtual 1024 Mar 27 10:02 etc
drwxr-xr-x 2 virtual virtual 1024 Mar 27 10:02 graph
drwxr-xr-x 2 virtual virtual 1024 Mar 27 10:02 ispadmin
drwxr-xr-x 2 virtual virtual 1024 Mar 27 10:02 scripts
- Záloha jen části systému (systém záloh je rozdělen do jednotlivých sekcí - jsou povolené tyto volby)
ispadmin - systém ISPadmin (/data/support/ispadmin)
ispadmin_backup backup ispadmin
scripts - záloha skriptů ISPadmin
ispadmin_backup backup scripts
graph - záloha všech klientských grafů prováděných na konci dne, které jsou uloženy jako statické obrázky. (/data/support/ispadmin/client_images/)
ispadmin_backup backup graph
etc - záloha celého config adresáře linuxu
ispadmin_backup backup etc
db - záloha binárních DB - tabulky ispadmin, system, mysql
- záloha všech dumpovaných databází mysql do adr. ./db_dump
- vytvořen adresář ./db_dump_last/, kde jsou uloženy tyto aktuální dumpované soubory z poslední zálohy
ispadmin_backup backup db
Obnova systému - příklady
Před jakýmkoliv obnovováním si vždy zazálohujte aktuální data.
Důležité adresáře jsou /data/support, /usr/local/script/ispadmin, /var/lib/mysql a /etc
Klasická obnova poslední (nejnovější) zálohy celého systému ISPadmin do "ostrých" adresářů
Z adresáře se zálohami /data/backup/incremental/ do /. Dojde k přepsání dat systému!!! Používejte tedy jen v případě, že máte data systému ISPadmin poškozená a chcete je nahradit daty ze zálohy.
Pokud obnovujete kompletní data na nový server s jinou verzi operačního systému Debian, nelze tento typ obnovy doporučit, jelikož dochází k obnově systémových konfiguračních adresářů v /etc a s rozdílnou verzí OS mohou tyto soubory mít jiný formát a syntaxi. Proto doporučujeme v těchto případech použít obnovu dílčích části viz níže. (bez obnovy /etc a následně obnovit adresář /etc do jiného místa v systému a provést manuální konfiguraci systémových nastavení - apache, hosts, dns, ..... ).
Pokud máte zálohy šifrované, budete ještě dotázáni na heslo do záloh a následně se Vás program ještě jednou zeptá, zda chcete obnovu dat opravdu udělat.
ispadmin_backup source-path=/data/backup/incremental/ path=/ restore all
Type Postcode password : Vaše_heslo_do_záloh
Restore script started.
Recover will destroy actual data on the server! Do backup before the recovery is a good idea.
Are you sure want to do the restore - from /data/backup/incremental/ directory to / !!? [y/n]:
Tímto způsobem si můžete obnovit data z poslední full zálohy včetně incrementů od poslední full zálohy (pokud jsou nastaveny).
Předpokladem pro správné obnovení dat je přítomnost a funkčnost všech predcházejících zalohovacích dat. Nestačí mít nakopírovaný jen poslední "5.den" zálohy s číselnou identifikaci. (např. Ispadmin_scripts.5.tar.gz)
Obnova starší zálohy celého systému ISPadmin do "ostrých" adresářů
Z uživatelova adresáře se zálohami /data/backup/incremental/ do /. Dojde k přepsání dat systému!!! Používejte tedy jen v případě, že máte data systému ISPadmin poškozená a chcete je nahradit daty ze zálohy.
Příklad: Dnes je 30.3.2012 a Vy chcete obnovit data z 27.3.2012.
Postup: Je potřeba zjistil číslo zálohy, která se udělala 27.3.2012. To zjistíte pomocí příkazu:
total 188712
drwxr-xr-x 2 virtual virtual 2048 Mar 29 07:51 .
drwxr-xr-x 9 virtual virtual 1024 Mar 27 10:55 ..
-rw-r--r-- 1 virtual root 13697 Mar 29 07:46 backup2l_ispadmin.conf
-rw-r--r-- 1 virtual root 390 Mar 26 10:55 Ispadmin_ispadmin.1.check
-rw-r--r-- 1 virtual root 107 Mar 26 10:55 Ispadmin_ispadmin.1.error.gz
-rw-r--r-- 1 virtual root 106410 Mar 26 10:55 Ispadmin_ispadmin.1.list.gz
lrwxrwxrwx 1 virtual root 27 Mar 26 10:55 Ispadmin_ispadmin.1.new.gz -> Ispadmin_ispadmin.1.list.gz
-rw-r--r-- 1 virtual root 51 Mar 26 10:55 Ispadmin_ispadmin.1.obsolete.gz
-rw-r--r-- 1 virtual root 440 Mar 26 10:55 Ispadmin_ispadmin.1.skipped.gz
-rw-r--r-- 1 virtual root 64043583 Mar 26 10:55 Ispadmin_ispadmin.1.tar.gz
-rw-r--r-- 1 virtual root 390 Mar 27 13:15 Ispadmin_ispadmin.2.check
-rw-r--r-- 1 virtual root 107 Mar 27 13:15 Ispadmin_ispadmin.2.error.gz
-rw-r--r-- 1 virtual root 106139 Mar 27 13:15 Ispadmin_ispadmin.2.list.gz
lrwxrwxrwx 1 virtual root 27 Mar 27 13:15 Ispadmin_ispadmin.2.new.gz -> Ispadmin_ispadmin.2.list.gz
-rw-r--r-- 1 virtual root 51 Mar 27 13:15 Ispadmin_ispadmin.2.obsolete.gz
-rw-r--r-- 1 virtual root 436 Mar 27 13:15 Ispadmin_ispadmin.2.skipped.gz
-rw-r--r-- 1 virtual root 64043616 Mar 27 13:15 Ispadmin_ispadmin.2.tar.gz
-rw-r--r-- 1 virtual root 390 Mar 29 07:47 Ispadmin_ispadmin.3.check
-rw-r--r-- 1 virtual root 107 Mar 29 07:47 Ispadmin_ispadmin.3.error.gz
-rw-r--r-- 1 virtual root 106139 Mar 29 07:46 Ispadmin_ispadmin.3.list.gz
lrwxrwxrwx 1 virtual root 27 Mar 29 07:47 Ispadmin_ispadmin.3.new.gz -> Ispadmin_ispadmin.3.list.gz
-rw-r--r-- 1 virtual root 51 Mar 29 07:46 Ispadmin_ispadmin.3.obsolete.gz
-rw-r--r-- 1 virtual root 436 Mar 29 07:46 Ispadmin_ispadmin.3.skipped.gz
-rw-r--r-- 1 virtual root 64043616 Mar 29 07:47 Ispadmin_ispadmin.3.tar.gz
Nyní již víme, že data, která chceme obnovit ze dne 27.3.2012, mají číslo 2. Můžeme tedy přistoupit k samotné obnově. Napíšeme příkaz pro obnovu a na jeho konec dopíšeme zjištěné číslo zálohy. Tím zajistíme, že nebude obnovena poslední záloha z 29.3.2012, nýbrž bude obnovena záloha z 27.3.2012.
Pokud máte zálohy šifrované, budete ještě dotázáni na heslo do záloh a následně se Vás program ještě jednou zeptá, zda chcete obnovu dat opravdu udělat.
ispadmin_backup source-path=/data/backup/incremental/ path=/ restore all 2
Type Postcode password : Vaše_heslo_do_záloh
Restore script started.
Recover will destroy actual data on the server! Do backup before the recovery is a good idea.
Are you sure want to do the restore - from /data/backup/incremental/ directory to / !!? [y/n]:
Tímto způsobem si můžete obnovit data z jakékoliv full zálohy či jakýchkoliv incrementů včetně předcházející full zálohy (pokud jsou nastaveny).
To vše za předpokladu, že všechny zálohy v patřičných sekcích (ispadmin,scripts,graph,db,etc) budou mít stejné číslo u odpovídajícího dne obnovy. V opačném případě se obnoví data ze dne příslušného danému číslu zálohy. Obnova databáze se provádí ze zálohy db_dump formou importu zálohovaného dump souboru jednotlivých databází.
Obnova jednotlivých částí systému
Stejně jako u zálohy jednotlivých částí systému, jsou u obnovy tyto volby:
ispadmin - systém ISPadmin (/data/support/ispadmin)
ispadmin_backup source-path=/data/backup/incremental/ path=/ restore ispadmin all
scripts - skripty ISPadmin
ispadmin_backup source-path=/data/backup/incremental/ path=/ restore scripts all
graph - klientské grafy
ispadmin_backup source-path=/data/backup/incremental/ path=/ restore graph all
etc - config adresář linuxu
ispadmin_backup source-path=/data/backup/incremental/ path=/ restore etc all
db - databáze
Příklad: Dejme tomu, že se Vám poškodila vlivem tvrdého restartu či vlivem vypnutí elektřiny databáze ISPadmin. Dnes je 30.3.2012 a Vy víte, že pravděpodobně k poškození databáze došlo někdy po 27.3.2012, protože v této době byl výpadek proudu a server neběžel.
Potřebujete tedy obnovit databázi ze dne 27.3.2012.
Máte v zásadě 3 možnosti:
- Obnova celého systému ISPadmin
Viz Klasická obnova, popř. Obnova starší zálohy
- Obnova poslední textové zálohy databáze
Můžete obnovit poslední textovou či binární zálohu pomocí příkazu ispadmin_backup source-path=/data/backup/incremental/ path=/ restore db_dump all
Popř. můžete obnovit konkrétní starší zálohu - zjištění čísla zálohy viz Obnova starší zálohy, poté použijte příkaz ispadmin_backup source-path=/data/backup/incremental/ path=/ restore db_dump all 2, kde číslo 2 reprezentuje číslo zálohy. Obnovovací script se Vás u každé databáze zeptá, jestli ji chcete opravdu obnovit (Enter).
- Obnova poslední binární zálohy databáze
Můžete obnovit poslední textovou či binární zálohu pomocí příkazu ispadmin_backup source-path=/data/backup/incremental/ path=/ restore db all
Popř. můžete obnovit konkrétní starší zálohu - zjištění čísla zálohy viz Obnova starší zálohy, poté použijte příkaz ispadmin_backup source-path=/data/backup/incremental/ path=/ restore db all 2, kde číslo 2 reprezentuje číslo zálohy. Obnovovací script se Vás u každé databáze zeptá, jestli ji chcete opravdu obnovit (Enter).
Obnova celého systému do adresáře /backup
Tuto volbu využijete zejména tehdy, chcete-li si projít data ze zálohy a něco si v nich zjistit (třeba jestli v této záloze nějaký soubor je, či jestli tam chybí, a bude zřejmě až ve starších zálohách atp.)
ispadmin_backup restore all
Type Postcode password : Vaše_heslo_do_záloh
Restore script started.
Recover will destroy actual data on the server! Do backup before the recovery is a good idea.
Are you sure want to do the restore - from /data/backup/incremental/ directory to /backup/ !!? [y/n]:
Zobrazení obsahu adresáře /backup
ls -la /backup
total 6
drwxr-xr-x 6 root root 1024 Mar 27 11:00 .
drwxr-xr-x 33 root root 1024 Mar 27 10:53 ..
drwxr-xr-x 4 root root 1024 Mar 27 11:00 data
drwxr-xr-x 4 root root 1024 Mar 27 11:00 etc
drwxr-xr-x 3 root root 1024 Mar 27 11:00 restore_mysql_dump
drwxr-xr-x 3 root root 1024 Mar 27 11:00 usr
Obnova celého systému z FTP zálohy
Po vytvoření nového adresaře (např. /old_server/) musíte do toho adresáře nakopírovat kompletní adresářovou strukturu záloh z FTP serveru. Tj. pokud potřebujete obnovit z FTP zálohu číslo 3, musíte nakopírovat i všechny předcházející zálohy 1 i 2.
Následně můžete provést obnovu podobně jako výše příkazem ispadmin_backup source-path=/old_server/ path=/restore/ restore all pokud budete chtit obnovit do adresáře restore, nebo ispadmin_backup source-path=/baa/ path=/ restore all do ostré verze.
V obou případech dojde k obnovení ostré databáze zálohovanými daty.
I v těchto případech se můžete omezit na obnovu určitých sekcí (ispadmin, etc, graph, scripts), např. ispadmin_backup source-path=/baa/ path=/restore/ restore ispadmin all (případně přidat číslo zálohy z /old_server/)
Související články: