Zálohování

1. Zálohování databáze

  • Pro zálohování databáze je určen program „SqlBackup.exe“. Nachází se v adresáři „Backup“. Podporuje zálohování databází MSSQL i Firebird. Obecně lze databázi zálohovat celou nebo přírůstkově, program „SqlBackup.exe“ však podporuje pouze vytváření plných záloh.
  • Použití:
SqlBackup.exe [zdroj] [cíl]
  • Parametr zdroj specifikuje název databáze (databáze MSSQL) nebo plnou cestu k databázi na disku (databáze Firebird).
  • Parametr cíl specifikuje název souboru, do kterého bude záloha uložena. Název souboru může obsahovat proměnné #year#, #month#, #day#, #dayofweek#, #dayofyear# a #week#.
  • Příklad:
    SqlBackup.exe netgenium netgenium-#dayofweek#
  • Využití proměnných je výhodné nejen pro identifikaci zálohované databáze, ale i pro volbu, jak velkou zálohu chceme udržovat. „SqlBackup.exe“ přepisuje soubory se stejným názvem, tudíž lze využít například proměnné #dayofweek# k udržování týdenní zálohy (zálohovány budou soubory netgenium-1, netgenium-2 až netgenium-7, při záloze nové databáze se stará záloha přepíše).
  • Pokud není parametr cíl specifikován (je uveden pouze název databáze nebo její plná cesta na disku), databáze se zálohuje do aktuálního umístění ve formátu „yyyy-mm-dd-název_databáze“.
  • Při zálohování databáze MSSQL lze také použít nepovinný parametr „/backuplog“, kdy program zazálohuje také transakční log databáze s příponou „.ldf“. Záloha bude provedena do samostatného souboru s názvem ve formátu „název_zálohy_databáze-log.bak” a do stejného umístění jako záloha databáze.
  • Po úspěšném provedení zálohy dojde k automatickému zalogování služby s názvem „SqlBackup“ do databázové tabulky „ng_sluzbawindows“ s intervalem nastaveným na 1 den.
  • Při spuštění bez parametrů nabídne program několik voleb v závislosti na činnosti, kterou chceme provést:

Obrázek.png

  • Volba B specifikuje provedení zálohy (backup). Je důležité si uvědomit, že metodika práce s databázemi MSSQL a Firebird je odlišná. V případě MSSQL serveru je databáze identifikována dle názvu databáze

a instance MSSQL serveru, zatímco Firebird databáze je identifikována přímou fyzickou cestou k databázi. Zálohovaná MSSQL databáze má příponu „.bak“. Firebird záloha má příponu „.fbk“.

  • Při volbě B „SqlBackup.exe“ vyhledá všechny dostupné databáze
    • ve výchozích instancích MSSQL serveru – (local) a (local)\SQLEXPRESS,
    • v nalezených instancích MSSQL serveru uvedených v registrech,
    • a v adresářích „E:\Firebird“, „D:\Firebird„ a „C:\Firebird“,
    • a nabídne uživateli, kterou databázi má zálohovat.
  • Při spuštění programu „SqlBackup.exe“ lze použít také parametr –S, kterým lze specifikovat konkrétní instanci MSSQL serveru v případě, že se některá jeho instance nenalezne automaticky (tj. nemá záznam v registrech systému pod klíčem „HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft SQL Server\Instance Names\SQL” nebo má jiný než výchozí název instance).
  • Příklad:
SqlBackup.exe –S(local)\SQLEXPRESS

Obrázek.png

  • Volby BTHIS nebo BT zálohuje databázi, která je uvedena v souboru „ConnectionString.txt“ ve složce „Config“.

Obrázek.png

  • Volba R obnovuje zálohovanou databázi (restore). „SqlBackup.exe“ vyhledá všechny zálohy ve svém umístění odkud je spuštěn a po nalezení záloh program nabídne uživateli, kterou databázi má obnovit. Při obnovení původní databázi přepisuje.

Obrázek.png

  • Po vybrání zálohy, z které má být provedena obnova, budete vyzváni k zadání názvu nové obnovené databáze.

Obrázek.png

  • Z bezpečnostních důvodů budete dále vyzváni k potvrzení vloženého názvu nové obnovené databáze.

Obrázek.png

  • Na závěr procesu obnovy budete dotázáni, zde se má obnovená databáze uložit do výchozího (defaultního) adresáře MSSQL / Firebird.

Obrázek.png

1.1. Naplánování zálohy databáze

  • „SqlBackup.exe“ je konzolová aplikace, proto lze k jejímu spuštění napsat dávkový soubor a ten nechat spouštět pomocí „Plánovače úloh“ v systému Windows automaticky. Pro korektní spuštění dávkového souboru je důležité nastavení adresáře, ve kterém má být dávka spuštěna. Toto nastavení lze provést buď přímo v dávkovém souboru, nebo v nastavení samotné naplánované úlohy. To, jakou variantu zvolit, závisí na počtu aplikací, které jsou v dávkovém souboru spouštěny spolu se zálohováním databáze. Typicky mohou být spolu se zálohováním spouštěny například skripty NET Genia, zálohování souborových příloh, nebo třeba aktualizace NET Genia na nejnovější verzi. === 1.1.1. Spuštění jedné nebo více aplikací, které jsou umístěny ve stejném adresáři ===
  • Uživatel, který vytváří dávkový soubor, ve kterém bude spuštěna jedna aplikace nebo více aplikací umístěných ve stejném adresáři, má na výběr ze dvou možností.
    • Buď použije jednodušší variantu, kdy využije v „Plánovači úloh“ pole „Spustit v (volitelné)“ a tím definuje adresář, ve kterém budou aplikace volané z dávkového souboru spouštěny,
  • nebo použije složitější variantu popsanou dále v kapitole 1.1.2.

Jednodušší varianta má nevýhodu v tom, že dávkový soubor nemůže být spuštěn ručně s volbou „Spustit jako správce“ (kliknutí pravým tlačítkem na dávkový soubor). Operační systém Windows od verze 2008 spouští dávkové soubory spuštěné s volbou „Spustit jako správce“ standardně z adresáře „C:\Windows\System32“, nikoliv z umístění, ve kterém je uložen samotný dávkový soubor.

Dávkový soubor

  • Pro naplánování zálohy databáze vytvořte například dávkový soubor „BackupDatabase.bat“ a uložte jej do adresáře D:\Services\BackupServer\.

Dávkový soubor pro databázový server MSSQL

rem Týdenní záloha (7 záloh nazpět)
SqlBackup.exe netgenium netgenium-#dayofweek#
rem Měsíční záloha (31 záloh nazpět)
SqlBackup.exe netgenium netgenium-#day#
rem Roční záloha (365 záloh nazpět)
SqlBackup.exe netgenium netgenium-#month#-#day#

Dávkový soubor pro databázový server Firebird

rem Týdenní záloha (7 záloh nazpět)
SqlBackup.exe D:\Firebird\netgenium.fdb netgenium-#dayofweek#
rem Měsíční záloha (31 záloh nazpět)
SqlBackup.exe D:\Firebird\netgenium.fdb netgenium-#day#
rem Roční záloha (365 záloh nazpět)
SqlBackup.exe D:\Firebird\netgenium.fdb netgenium-#month#-#day#

Naplánovaná úloha

  • Otevřete Ovládací panely a najděte kategorii Nástroje pro správu, kde vyberte položku Plánovat úkoly (popřípadě ji vyhledejte pomocí pole Hledat).
  • V Plánovači úloh klepněte na „Vytvořit úlohu“.

Obrázek.png

  • V nově otevřeném okně na kartě „Obecné“ lze především definovat název úlohy a uživatelský účet s potřebnými oprávněními, pod kterým bude úloha spuštěna. Důležitým nastavením je zde zaškrtnutí volby „Spustit s nejvyššími oprávněními“, aby úloha proběhla v pořádku.

Obrázek.png

  • Na kartě „Akce“, klepnutím na tlačítko „Nová“ pak specifikujte, co má úloha provádět. Je potřeba spustit náš dávkový soubor „BackupDatabase.bat“. Dále je důležité nastavit adresář, ve kterém budou aplikace naplánované úlohy spuštěny. Je proto nutné vyplnit pole „Spustit v (volitelné)“.

Obrázek.png

  • Na kartě „Aktivační události“ klepnutím na tlačítko „Nová“ specifikujte v který čas a jak často se má úloha (zálohování) provádět.
  • Naplánované zálohování databáze je nastaveno.
  • Postup vytvoření naplánované úlohy je demonstrováno na systému Windows 7, postup pro Windows Server je ve svém základu podobný, liší se pouze kosmetickými rozdíly.

1.1.2. Spuštění více aplikací, které jsou umístěny v rozdílných adresářích

Pokud je součástí dávkového souboru spuštění aplikace „SqlBackup.exe“ – což je aplikace umístěná v adresáři „Backup“ – je důležité přímo v dávkovém souboru nastavit cestu, ve které má být aplikace spuštěna. Záloha se totiž ukládá do aktuálního adresáře. Výhodou takto vytvořených dávkových souborů je také to, že je možné je spouštět i ručně volbou „Spustit jak správce“.

Dávkový soubor

  • Pro naplánování zálohy databáze vytvořte například dávkový soubor „BackupDatabase.bat“ a uložte jej do adresáře D:\Services\BackupServer\.

Dávkový soubor pro databázový server MSSQL

D:\NETGenium\bin\RunScript.exe 1075
D:\NETGenium\bin\Update.exe -j

D:
cd D:\NETGenium\Backup
SqlBackup.exe netgenium netgenium-#dayofweek#
  • Aplikaci „RunScript.exe“ lze spouštět bez nutnosti definice adresáře, ve kterém je spuštěna
  • Nejprve je nutné definovat, na jakém disku pracujeme
  • Příkazem „cd“ se uživatel dostane do potřebného adresáře, ve kterém bude aplikace spuštěna
  • Pokud je v dávkovém souboru volán další dávkový soubor, je nutné u volání dávkového souboru uvést příkaz „call“

Dávkový soubor pro databázový server Firebird

D:\NETGenium\bin\RunScript.exe 1075
D:\NETGenium\bin\Update.exe -j

D:
cd D:\NETGenium\Backup
SqlBackup.exe D:\Firebird\netgenium.fdb netgenium-#dayofweek#
  • Aplikaci „RunScript.exe“ lze spouštět bez nutnosti definice adresáře, ve kterém je spuštěna
  • Nejprve je nutné definovat, na jakém disku pracujeme
  • Příkazem „cd“ se uživatel dostane do potřebného adresáře, ve kterém bude aplikace spuštěna
  • Pokud je v dávkovém souboru volán další dávkový soubor, je nutné u volání dávkového souboru uvést příkaz „call“

Naplánovaná úloha

Postup vytvoření naplánované úlohy:

  • Otevřete „Ovládací panely“ a najděte kategorii „Nástroje pro správu“, kde vyberte položku „Plánovat úkoly“ (popřípadě ji vyhledejte pomocí pole Hledat).
  • V Plánovači úloh klepněte na „Vytvořit úlohu“.

Obrázek.png

  • V nově otevřeném okně na kartě „Obecné“ lze především definovat název úlohy a uživatelský účet s potřebnými oprávněními, pod kterým bude úloha spuštěna. Důležitým nastavením je zde zaškrtnutí volby „Spustit s nejvyššími oprávněními“, aby úloha proběhla v pořádku.

Obrázek.png

  • Na kartě „Akce“, klepnutím na tlačítko „Nová“ pak specifikujte, co má úloha provádět. Je potřeba spustit náš dávkový soubor „BackupDatabase.bat“. Jelikož se bude spouštět více aplikací umístěných v různých adresářích, není možné v „Plánovači úloh“ nastavit jeden adresář, ve kterém budou spouštěny všechny aplikace (pole „Spustit v (volitelně)“). Toto nastavení pro jednotlivé aplikace probíhá v dávkovém souboru.

Obrázek.png

  • Na kartě „Aktivační události“ klepnutím na tlačítko „Nová“ specifikujte v který čas a jak často se má úloha (zálohování) provádět.
  • Naplánované zálohování databáze je nastaveno.
  • Postup vytvoření naplánované úlohy je demonstrováno na systému Windows 7, postup pro Windows Server je ve svém základu podobný, liší se pouze kosmetickými rozdíly.

1.2. Obnovení zálohy databáze

  • Po spuštění programu „SqlBackup.exe“ zvolte volbu R (restore). „SqlBackup.exe“ vyhledá všechny zálohy ve svém umístění odkud je spuštěn. Po nalezení záloh program nabídne uživateli, kterou databázi má obnovit. Při obnovení původní databázi přepisuje. Po zvolení databáze je potřeba zadat její název, do kterého bude záloha obnovena. Pokud chcete obnovit aktuálně používanou databázi, zvolte její název stejný, jako je uvedený v souboru „ConnectionString.txt“ v adresáři „Config“ Vašeho NET Genia. Při obnově databáze MSSQL se program „SqlBackup.exe“ dotazuje, zda má být databáze obnovena do výchozího adresáře MSSQL, resp. je možné zadat konkrétní cestu k adresáři, do kterého má být databáze obnovena.

2. Zálohování souborů

  • Pro zálohování souborů NET Genia je určen program „FileBackup.exe“. Nachází se v adresáři „Backup“. Vytvoření zálohy se skládá ze:
    • Zazálohování nastavení serveru IIS
    • Zazálohování adresáře NET Genia
    • Zazálohování souborových příloh
  • Použití:
FileBackup.exe [cíl]
  • Parametr cíl specifikuje adresář nebo síťové umístění, do kterého bude záloha provedena.
  • Lze použít také další parametry:
    • /iisonly – zazálohuje se pouze nastavení serveru IIS (v tomto případě není potřeba specifikovat parametr cíl)
    • /noiis – zazálohuje se pouze adresář NET Genia a souborové přílohy NET Genia
    • file.ini – zazálohují se pouze souborové přílohy, jejichž ID je větší než hodnota uvedená v konfiguračním souboru „file.ini“
  • V případě, že je potřeba spolu se zálohou adresáře NET Genia a souborových příloh zálohovat i jiné soubory umístěné mimo adresář NET Genia, využívá se konfigurační soubor „FileBackup.exe.config“. Pokud aplikace „FileBackup.exe“ před vytvořením zálohy nalezne v adresáři „Backup“ konfigurační soubor „FileBackup.exe.config“, vytvoří ve stejném adresáři archiv „FileBackup.zip“, který bude obsahovat soubory definované v tomto konfiguračním souboru. „FileBackup.zip“ se následně stane součástí zálohy adresáře NET Genia.
  • Níže je uveden příklad konfiguračního souboru:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>

<add key="directory" value="D:\Services" />
<add key="excludedirectory" value="D:\Services\CRMService\POP3Downloads" />
<add key="excludefile" value="D:\Services\CRMService\*.log" />

</appSettings>
</configuration>

Kde je možné specifikovat:

  • Adresáře, které se budou zálohovat – parametr „directory“ nebo „includedirectory“
  • Adresáře, které se zálohovat nebudou – parametr „excludedirectory“
  • Soubory, které se zálohovat nebudou – parametr „excludefile“
    • Zde je možné používat konstrukci „*.přípona“, která zajistí, že aplikace bude pracovat v daném adresáři pouze se soubory s touto příponou

2.1. Zálohování souborů pomocí konfiguračního souboru „file.ini“

  • Pro zálohování souborových příloh NET Genia, jejichž ID je větší než hodnota uvedená v konfiguračním souboru „file.ini“, je určen program „FileBackup.exe“ spuštěný s názvem konfiguračního souboru jako jediným parametrem. Pokud aplikace „FileBackup.exe“ nalezne v adresáři „Backup“ konfigurační soubor s požadovaným názvem, pokračuje se zálohováním souborových příloh, které vznikly od posledního spuštění aplikace. Pokud konfigurační soubor nenajde, vytvoří jej, a zeptá se na cílový adresář nebo síťové umístění, do kterého bude záloha provedena, spolu s počátečním ID souborové přílohy, od které má být zálohování zahájeno.

2.2. Naplánování zálohy souborů

  • Pro naplánování zálohy souborů vytvořte například dávkový soubor „BackupFiles.bat“ a uložte jej do adresáře D:\Services\BackupServer\. Naplánované úloze, která bude spouštět tento dávkový soubor, je nutné v „Plánovači úloh“ nastavit v poli „Spustit v (volitelné)“ adresář, ve kterém bude naplánovaná úloha spouštěna. V případě, že bude zapotřebí spouštět dávkový soubor s volbou „Spustit jako správce“, je nutné navíc do těla dávkového souboru uvést příkazy, které určí adresář, ve kterém budou jednotlivé aplikace spouštěny.

Varianta 1:

if exist Z: goto Z_OK
net use Z: \\NAS-NETGenium\Files PASSWORD /USER:LOGIN
:Z_OK
chcp 1250
FileBackup.exe Z:
  • dávkový soubor nejprve zjišťuje, zdali je namapován síťový disk „Z“. Pokud není, tak ho příkazem „net use“ namapuje, a poté se provede programem „FileBackup.exe“ záloha souborů na tento síťový disk
  • pokud je pro přístup do síťového umístění vyžadováno uživatelské jméno a heslo, specifikuje se místo „LOGIN“ (uživatelské jméno) a „PASSWORD“ (heslo). Pokud jméno a heslo není potřeba specifikovat, v dávkovém souboru se neuvede nic (ani parametr /USER)

Varianta 2:

FileBackup.exe \\NAS-NETGenium\Files
  • v případě zálohy souborů do síťového umístění přímo
  • staré soubory se nepřepisují, pouze se kopírují nově vytvořené (soubor „0.zip“, který obsahuje adresář NET Genia, se přepisuje vždy)
  • soubory změněné (modifikované funkcí REDUCEATTACHMENT) se přepíší
  • dávkový soubor v tomto případě není nutné vytvářet, program „FileBackup.exe“ lze spustit v naplánované úloze přímo namísto specifikace dávkového souboru
  • Souborové přílohy, které se mají zálohovat, se načítají z databázové tabulky „sfiles“ ze sloupce „backupdir“. V tomto sloupci je uložena cesta, kam byl soubor zazálohován. Pokud se cesta zadaná v parametru a cesta v databázi shodují, záloha tohoto souboru se neprovede, protože již byla provedena dříve. Tím je zajištěno přírůstkové zálohování pouze nových souborů. Pokud bylo se souborovou přílohou manipulováno pomocí funkce REDUCEATTACHMENT, její cesta v databázi se vynuluje a takový soubor se při další záloze také zálohuje. Po úspěšném provedení zálohy se do databázové tabulky „ng_sluzbawindows“ zaloguje služba s názvem „BackupFiles“ s intervalem 1 den.

2.3. Obnovení zálohy souborů

  • Nejprve vytvořte prázdný adresář, do kterého chcete, aby se NET Genium obnovilo (například „D:\Inetpub\wwwroot\NETGenium“).
  • Poté stáhněte z adresy https://www.netgenium.com/download/FileBackup.exe program „FileBackup.exe“. Program uložte do Vámi vytvořeného adresáře.
  • Poté spusťte program „FileBackup.exe“ například v programu Total Commander pomocí příkazu „FileBackup.exe\\NAS-NETGenium\Files/restore”, kde jako první parametr je uvedena cesta k adresáři, ve kterém je uložena záloha. Po spuštění příkazu je zobrazeno následující dialogové okno a uživatel si může vybrat ze tří položek.

Obrázek.png

  • Při obnovování zálohy souborů nedochází k přepisování existujících souborů již uložených v adresáři NET Genia, což je zdůrazněno v dialogovém okně. Nepřepisováním existujících souborů je vyřešena situace, kdy by bylo potřeba znovuobnovit některé chybějící soubory, ale přitom nepřepsat ty soubory, které byly nově vytvořeny nebo modifikovány.

2.3.1. Obnovení všech souborů (Restore all files)

  • Potvrzením této volby program obnoví celou adresářovou strukturu NET Genia ze zálohy, jejíž přístupová cesta byla definovaná jako první parametr při spouštění programu „FileBackup.exe“. Adresářová struktura NET Genia je obnovena do adresáře, ve kterém byl program „FileBackup.exe“ spuštěn. Po úspěšném obnovení všech souborů je zapotřebí program „FileBackup.exe“ v původně prázdném adresáři smazat a pro případně další obnovování používat program „FileBackup.exe“ z adresáře „Backup“.

Po úspěšném obnovení adresářové struktury NET Genia je již možné program „FileBackup.exe“ v původně prázdném adresáři smazat, a pro případné další obnovování souborových příloh používat program „FileBackup.exe“ umístěný v adresáři „Backup“.

2.3.2. Obnovení všech souborů kromě souborových příloh (Restore all files except file attachments)

  • Obnovení všech souborů může být v závislosti na velikosti zálohy a výkonu serveru časově velmi náročná operace. V krizové situaci je proto možné rozdělit obnovení zálohy do dvou fází:
    • V první fázi je možné obnovit pouze adresářovou strukturu NET Genia bez souborových příloh resp. bez adresáře „Files“ tak, aby bylo možné zprovoznit NET Genium, služby apod.,
    • a ve druhé fázi pak obnovit samotné souborové přílohy.
  • Po úspěšném obnovení adresářové struktury NET Genia je již možné program „FileBackup.exe“ v původně prázdném adresáři smazat, a pro případné další obnovování souborových příloh používat program „FileBackup.exe“ umístěný v adresáři „Backup“.

2.3.3. Obnovení souborových příloh (Restore file attachments only)

  • Samostatné obnovení souborových příloh má význam v případě, kdy bylo obnovení rozděleno do dvou fází:
    • V první fázi je možné obnovit pouze adresářovou strukturu NET Genia bez souborových příloh resp. bez adresáře „Files“ tak, aby bylo možné zprovoznit NET Genium, služby apod.,
    • a ve druhé fázi pak obnovit samotné souborové přílohy.
  • Po úspěšném obnovení adresářové struktury NET Genia je již možné program „FileBackup.exe“ v původně prázdném adresáři smazat, a pro případné další obnovování souborových příloh používat program „FileBackup.exe“ umístěný v adresáři „Backup“.

Restore all file attachments

  • Program „FileBackup.exe“ obnoví všechny souborové přílohy umístěné v záloze, které dosud nebyly obnoveny do adresáře „Files“.

Restore file attachments read from database

  • Pro tuto volbu je nutné mít v adresáři „Backup“, ve kterém je umístěn program „FileBackup.exe“, uložen

i soubor „NETGeniumConnection.dll“. Pokud tento soubor v adresáři „Backup“ není, je možné ho zkopírovat z adresáře „bin“.

  • Program „FileBackup.exe“ dále zobrazí vstup „Type the list of tables separated by semicolons:“, ve kterém uživatel vyjmenuje seznam tabulek oddělených středníkem, ve kterých se mohou nacházet souborové přílohy uložené v ovládacích prvcích „File“, „Image“ nebo „RichTextBox“. Tyto souborové přílohy budou načteny pomocí „SELECT *“ a budou následně obnoveny.

Obrázek.png

Pokud nastane jedna z následujících situací:

  • není nalezena knihovna „NETGeniumConnection.dll“,
  • není nalezen soubor „ConnectionString.txt“,
  • není nalezena databáze definovaná v souboru „ConnectionString.txt“,
  • selže připojení do databáze definované v souboru „ConnectionString.txt“,
  • není nalezena tabulka definovaná na vstupu,
  • nalezená tabulka nemá žádný sloupec typu „File“, „Image“ nebo „RichTextBox“ nebo
  • není nalezena žádná souborová příloha v definované tabulce na vstupu, je uživateli vrácena chybová hláška a uživatel musí znovu zadat tabulku na vstup.

Obrázek.png

Po dokončení obnovy souborových příloh je zobrazena statistika počtu souborových příloh, které byly v záloze umístěny, obnoveny a přeskočeny.

Obrázek.png

Restore file attachments [<fromDate>] [<toDate>]

Program „FileBackup.exe“ dále zobrazí vstupy „fromDate“ a „toDate“, ve kterých uživatel vyplní rozpětí dat vytvoření souborových příloh. Po vyplnění jednotlivých vstupů musí uživatel vždy potvrdit jím vložené parametry. Definováním datumového rozpětí je zajištěno, že budou obnoveny pouze souborové přílohy, které mají datum vytvoření v daném časovém rozpětí, a které dosud nebyly obnoveny do adresáře „Files“. Jak „fromDate“ tak „toDate“ není vyžadovaná položka, takže

  • pokud je zadáno „fromDate“ i „toDate“, budou obnoveny pouze souborové přílohy, které mají datum vytvoření větší nebo rovno „fromDate“ a menší nebo rovno „toDate“,
  • pokud je zadáno pouze „fromDate“, budou obnoveny pouze souborové přílohy, které mají datum vytvoření větší nebo rovno „fromDate“,
  • pokud je zadáno pouze „toDate“, budou obnoveny pouze souborové přílohy, které mají datum vytvoření menší nebo rovno „toDate“,
  • pokud není zadáno „fromDate“ ani „toDate“, bude uživatel vyzván k opětovnému vyplnění vstupů.

Do jednotlivých datumových vstupů lze vkládat i proměnné a funkce NET Genia (např. „ADDDAYS(#today#, -2)“). Při využití proměnných a funkcí NET Genia jako datumových vstupů je nutné mít na paměti, že je zapotřebí mít v adresáři „Backup“, ve kterém je umístěn program „FileBackup.exe“, uložen i soubor „NETGeniumConnection.dll“. Pokud tento soubor v adresáři „Backup“ není, je možné ho zkopírovat z adresáře „bin“.

Obrázek.png

  • Po dokončení obnovy souborových příloh je zobrazena statistika počtu souborových příloh, které byly v záloze umístěny, obnoveny a přeskočeny.

Obrázek.png

Restore file attachments [<fromId>] [<toId>]

  • Program „FileBackup.exe“ dále zobrazí vstupy „fromId“ a „toId“, ve kterých uživatel vyplní rozpětí ID souborových příloh. Po vyplnění jednotlivých vstupů musí uživatel vždy potvrdit jím vložené parametry. Definováním rozpětí ID je zajištěno, že budou obnoveny pouze souborové přílohy, které mají ID v daném rozpětí, a které dosud nebyly obnoveny do adresáře „Files“. Jak „fromId“ tak „toId“ není vyžadovaná položka, takže
    • pokud je zadáno „fromId“ i „toId“, budou obnoveny pouze souborové přílohy, které mají ID větší nebo rovno „fromId“ a menší nebo rovno „toId“,
    • pokud je zadáno pouze „fromId“, budou obnoveny pouze souborové přílohy, které mají ID větší nebo rovno „fromId“,
    • pokud je zadáno pouze „toId“, budou obnoveny pouze souborové přílohy, které mají ID menší nebo rovno „toId“,
    • pokud není zadáno „fromId“ ani „toId“, bude uživatel vyzván k opětovnému vyplnění vstupů.

Obrázek.png

  • Po dokončení obnovy souborových příloh je zobrazena statistika počtu souborových příloh, které byly v záloze umístěny, obnoveny a přeskočeny.

Obrázek.png

3. Zálohování pomocí programu BackupServer.exe

  • Záloha pomocí programu „BackupServer.exe“ je založena na principu vytváření záloh na serveru a jejich následného stahování přes internet nebo přes interní počítačovou síť na klientskou stanici. Pomocí „BackupServer.exe“ je možno zálohovat:
    • Nastavení serveru IIS
    • Nastavení služby Indexing Service
    • Databáze (MSSQL, Firebird)
    • Adresář NET Genia
  • Vzorové soubory programu jsou vždy dostupné v adresáři NET Genia v adresáři „Backup\BackupServer“.
  • Použití:
BackupServer.exe [/config][/decrypt][/restore]
  • Nepovinné parametry:
    • /config – vytvoří v aktuálním umístění vzorový konfigurační soubor „BackupServer.exe.config“
    • /decrypt – dešifruje veškeré ZIP archivy v adresáři „Files“, viz kapitola 3.3.
    • /restore – obnoví veškeré ZIP archivy z adresáře „Files“ do zálohovaných souborů, viz kapitola 3.3.
  • Při spuštění programu „BackupServer.exe“ lze použít také parametr file, kterým lze specifikovat konkrétní při zálohování zašifrovaný soubor. Soubor bude v tomto případě dešifrován.
  • Příklad užití:
BackupServer.exe soubor.zip

3.1. Serverová část – vytvoření zálohy na serveru

  • Program společně se všemi jeho knihovnami a soubory uložte do adresáře „D:\Services\BackupServer\“
  • „BackupServer.exe“ využívá soubor s uchovaným nastavením „BackupServer.exe.config“.
  • Níže je uveden příklad konfiguračního souboru:
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
    <appSettings>

    <add key="key1" value="abcdefgh" />
    <add key="key2" value="hgfedcba" />

    <add key="database" value="db1" />
    <add key="database" value="(local)\SQLEXPRESS|db2" />
    <add key="database" value="D:\Firebird\DB3.FDB" />

    <add key="directory" value="D:\Inetpub\wwwroot" />
    <add key="directory" value="D:\Services" />

    <add key="excludedirectory" value="D:\Services\BackupServer\Files" />
    <add key="excludedirectory" value="D:\Services\BackupServer\Temp" />
    <add key="excludefile" value="D:\Services\PaymentService\*.log" />

    <add key="runfile" value="D:\Services\Update\Update.exe" />

    <add key="fullbackupinterval" value="7" />

    <add key="logServiceConnectionString" value="driver=firebird;datasource=localhost;user=SYSDBA;password=masterkey;database=D:\Firebird\netgenium.fdb;charset=WIN1250;collation=WIN_CZ_CI_AI" />

    </appSettings>
    </configuration>

Kde je možné specifikovat:

  • Jeden pár klíčů, který se použije k zašifrování vytvořené zálohy na serveru – parametry „key1“ a „key2“ (záloha se po přenosu na klienta opět dešifruje)
  • Databáze, které se budou zálohovat – parametr „database“
    • V případě MSSQL databáze se jedná o syntaxi „název_instance|název_databáze”
    • V případě jedné konkrétní databáze Firebird je uvedena plná cesta k databázovému souboru
    • V případě všech databází Firebird umístěných v jednom adresáři se uvede plná cesta k tomuto adresáři a na konec této cesty se přidá „\*.fdb“
  • Adresáře, které se budou zálohovat – parametr „directory“ nebo „includedirectory“
  • Adresáře, které se zálohovat nebudou – parametr „excludedirectory“
  • Soubory, které se zálohovat nebudou – parametr „excludefile“
    • Zde je možné používat konstrukci „*.přípona“, která zajistí, že aplikace bude pracovat v daném adresáři pouze se soubory s touto příponou
  • Další programy, které mají být spuštěny ihned po vytvoření zálohy, ale ještě před zašifrováním vytvořené zálohy – parametr „runfile“. Tento parametr se využívá ve chvíli, kdy je potřeba spustit nějakou jinou aplikaci v průběhu zálohování. Výhodou parametru „runfile“ je, že se například s aktualizací NET Genia nemusí čekat až na úplné ukončení zálohování.
  • Počet dní, po kterých je vytvořena plná záloha – parametr „fullbackupinterval“. Pokud tento parametr v konfiguračním souboru chybí, je brána výchozí doba 1 měsíc. Tento parametr se obvykle používá v situaci, kdy je na disku určeném pro zálohování málo místa, a proto je potřeba snížit interval vytváření plných záloh (což zároveň znamená i snížení počtu přírůstkových záloh).
  • Automatické zalogování služby s názvem „BackupServer“ do databázové tabulky „ng_sluzbawindows“ s intervalem nastaveným na 1 den v případě, že došlo k úspěšnému provedení zálohy – parametr „logServiceConnectionString“.
  • Nastavení serveru IIS a služby Indexing Service se zálohuje automaticky.
  • Spuštění „BackupServer.exe“ probíhá spuštěním naplánované úlohy – vytvoření naplánované úlohy demonstruje např. kapitola 1.1.1. Je žádoucí nastavit tuto úlohu dle vzoru v této kapitole – převážně zvolení možností spuštění pod nejvyššími právy, nezávisle na přihlášení uživatele a na disku D. Pro spuštění naplánované úlohy postačí volat „BackupServer.exe“ přímo. Spuštění programu nevyžaduje v případě zálohy žádné parametry.

Postup zálohování:

  • Vytvoření adresářů „Files“ a „Temp“, pokud neexistují
  • Promazání adresáře „Temp“, kam se ukládají zálohy nastavení serveru IIS, aplikačních poolů IIS, webů IIS, nastavení služby Indexing Service a všech databází
  • Provedení zálohy nastavení serveru IIS, aplikačních poolů IIS, webů IIS, nastavení služby Indexing Service a všech databází do adresáře „Temp“
    • Záloha nastavení serveru IIS má název „applicationHost.config“
    • Záloha aplikačních poolů IIS má název „apppools.xml“
    • Záloha webů v IIS má název „sites.xml“
    • Záloha nastavení služby Indexing Service má název „catalogs.IS“
    • Záloha databáze má název ve formátu „název_databáze.bak“ (MSSQL databáze) nebo „název_databáze.fbk“ (Firebird databáze)
  • Kontrola, zda se bude provádět plná nebo přírůstková záloha
    • Plná – provádí se vždy, pokud
      • je adresář „Files“ prázdný (dosud nebyla provedena žádná záloha),
      • poslední plná záloha dosáhne stáří jednoho měsíce nebo
      • uplynula doba definovaná parametrem „fullbackupinterval“ od poslední plné zálohy.

Plná záloha je uložena pod názvem ve formátu „yyyy-mm-dd-x (X).zip“, kde X je pořadové číslo ZIP souboru (tedy např. „2014-02-06-x (35).zip“). Pokud je celková velikost poslední plné zálohy větší než 10GB, provede se další plná záloha vždy pouze o víkendu.

  • Přírůstková – provádí se vždy, pokud se neprovádí plná záloha. Přírůstky jsou vytvářeny pro soubory pouze novějšího data než dříve zálohované soubory a pro nově vytvořené soubory.
    • Smazání všech záloh starších než 1 týden (plných i přírůstkových), pokud se bude provádět plná záloha a zároveň:
    • je specifikován parametr „fullbackupinterval“ menší než 30 dní nebo
    • je velikost poslední plné zálohy vynásobená koeficientem 1,5 větší než dostupné místo na disku kam se budou zálohy ukládat.
  • Vytvoření nové zálohy – ZIP archivu – v adresáři „Files“
    • ZIP archiv je vytvářen z obsahu adresáře „Temp“ a ze všech adresářů definovaných v konfiguračním souboru.
    • ZIP archiv je zabalen ne pouze do jednoho souboru, ale do více ZIP souborů o maximální velikosti jednoho souboru ve výši 1 GB. ZIP soubor je pojmenován datem zálohy ve formátu „yyyy-mm-dd(X).zip“, kde X je pořadové číslo ZIP souboru.
    • V případě, že záloha databáze má větší velikost než 1 GB, tak se tato databáze nevkládá do ZIP souboru, ale přímo do adresáře „Files“. Jméno souboru má název ve formátu „yyyy-mm-dd-název_databáze.bak” (MSSQL databáze) nebo „yyyy-mm-dd-název_databáze.fbk” (Firebird databáze). Z adresáře „Temp“ je poté tato databáze smazána.
  • Vytvoření souborů „FileList.txt“ a „log.txt“ v adresáři „Files“
    • Po dokončení zálohování je vytvářen soubor „FileList.txt“, který obsahuje názvy všech ZIP souborů a případných databází v tomto adresáři. Dále je vytvořen další „FileList.txt“ v každém vytvořeném ZIP souboru – tento seznam obsahuje cesty ke všem souborům, které byly zazálohovány.
    • Soubor „log.txt“ obsahuje informační záznam o tom, že záloha proběhla (např. „2014-01-01 05:00:00 OK“).
  • Spuštění všech programů definovaných v konfiguračním souboru parametrem „runfile“. Programy jsou spouštěny postupně
  • Zašifrování všech nově vytvořených souborů v adresáři „Files“ pokud jsou v konfiguračním souboru definovány parametry „key1“ a „key2“
  • Smazání všech záloh starších než 1 týden (plných i přírůstkových), pokud byla právě provedena plná záloha nebo pokud je datum zálohy starší než datum poslední plné zálohy
  • Pro běh klientské části je třeba mít adresář „Files“ s provedenými zálohami vzdáleně přístupný. Toho je docíleno přidáním nového virtuálního adresáře pod aplikaci NET Genia.

Obrázek.png

  • Alias adresáře zvolte například „backupserver298“ nebo jakýkoliv jiný, a jeho umístění nastavte na „D:\Services\BackupServer\Files\”. Tomuto adresáři je třeba nastavit oprávnění pro čtení skupině „Everyone“ (v běžných nastaveních práv systému Windows).

3.2. Klientská část – stažení zálohy na klienta

  • Klientská část má za úkol stahovat provedené zálohy ze serveru. V podadresáři „Client“ adresáře „BackupServer“ nejprve vyhledejte program „BackupServerService.exe“. Tento program spusťte, aby se vytvořily soubory „BackupServerService – console.lnk“ a „BackupServerService – user.lnk“.
  • Dále spusťte soubor „BackupServerService – user.lnk“ a v dialogu klikněte na tlačítko „Install“ – tím dojde k instalaci programu „BackupServerService.exe“ jako systémové služby, která se bude spouštět automaticky po startu systému, a bude provádět kontrolu stahování záloh každých deset minut. Následně můžete dialog zavřít pomocí křížku. „BackupServerService.exe“ využívá podobný konfigurační soubor jako „BackupServer.exe“. Jeho název je „BackupServerService.exe.config”, a jeho obsah může být následující:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>

<add key="url" value="https://www.netgenium.com/backupserver298" />

<add key="smtpServer" value="localhost" />
<add key="smtpUserName" value="" />
<add key="smtpPassword" value="" />

<add key="errorFrom" value="backupserverservice@netgenium.com" />
<add key="errorTo" value="support@netgenium.com" />

<add key="key1" value="abcdefgh" />
<add key="key2" value="hgfedcba" />

<add key="logServiceConnectionString" value="driver=firebird;datasource=localhost;user=SYSDBA;password=masterkey;database=D:\Firebird\netgenium.fdb;charset=WIN1250;collation=WIN_CZ_CI_AI" />

</appSettings>
</configuration>

Kde je nutné specifikovat:

  • Cestu, odkud se budou stahovat zálohy – parametr „url“. V uvedeném příkladu je „backupserver298“ virtuální adresář vytvořený v IIS. Na tento virtuální adresář doporučujeme nastavit restrikce na IP adresy tak, aby si soubory z tohoto adresáře mohly stahovat pouze počítače z konkrétních IP adres.
  • Adresu SMTP serveru a přihlašovací údaje pro odesílání e-mailových zpráv – parametry „smtpServer“, „smtpUserName“ a „smtpPassword“.
  • E-mailovou adresu, ze které se budou odesílat e-maily o případných chybách během stahování a dešifrování záloh – parametr „errorFrom“.
  • E-mailovou adresu, na kterou se budou odesílat e-maily o případných chybách během stahování a dešifrování záloh – parametr „errorTo“.
  • Jeden pár klíčů, který se použije k dešifrování vytvořené zálohy – volitelné parametry „key1“ a „key2“. Tyto klíče musí být stejné jako v konfiguračním souboru na serveru. Pokud tyto parametry nejsou uvedeny, stažené zálohy se nebudou dešifrovat.
  • Automatické zalogování služby s názvem „BackupServerService“ do databázové tabulky „ng_sluzbawindows“ s intervalem nastaveným na 1 den v případě, že došlo k úspěšnému provedení zálohy – parametr „logServiceConnectionString“.

Informace o stahování záloh:

  • Zálohy se ukládají do složky „Files“ v umístění, kde je uložen „BackupServerService.exe“.
  • Všechny ZIP archivy a databáze se po stažení dešifrují, pokud jsou v konfiguračním souboru uvedeny parametry „key1“ a „key2“.
  • Při každém stažení záloh se kontroluje stáří posledních záloh. Pokud je v adresáři „Files“ více plných záloh, první plná záloha a všechny starší plné zálohy se automaticky smažou. == 3.3. Obnovení zálohy ==

Zálohu lze na klientském počítači obnovit spuštěním programu „BackupServer.exe“ s parametrem „/restore“.

Při spuštění programu je možné volit z následujících možností:

  • Restore all databases and server settings
  • Restore all files
  • Restore all files except file attachments
  • Restore file attachments only
    • Poznámka: Pro obnovení zálohy přímo na serveru je ještě nutné před spuštěním programu „BackupServer.exe“ s parametrem „/restore“ spustit tento program s parametrem „/decrypt“ – zálohované soubory na serveru jsou zašifrovány, tudíž je nutné je před jejich obnovením dešifrovat.

3.3.1. Obnovení všech databází a nastavení serveru (Restore all databases and server settings)

  • Potvrzením této volby program vytvoří adresář „Restore“, do něhož budou obnoveny zálohy všech databází a nastavení serveru z poslední provedené zálohy na serveru.
    • Zálohy databází je následně možné hromadně obnovit pomocí programu „SqlBackup.exe“ zvolením volby RA (restore all).
    • Zálohu serveru IIS je možné obnovit zkopírováním souboru „applicationHost.config“ do adresáře „Windows\System32\inetsrv\config\”. Pro tyto účely je v adresáři „Restore“ připraven dávkový soubor „applicationHost.bat.txt“. Pokud by soubor „applicationHost.config“ nebyl k dispozici, lze obnovení nastavení serveru IIS částečně provést pomocí souborů „sites.xml“ a „appools.xml“ importem do IIS.
    • Zálohu služby Indexing Service je možné obnovit programem „ISBackup.exe“ (který se nachází ve společné složce s programem „BackupServer.exe“) zvolením volby R (restore). Soubor „catalogs.IS“ se zálohou služby Indexing Service musí být uložen ve stejném umístění jako program „ISBackup.exe“.

3.3.2. Obnovení všech souborů (Restore all files)

  • Potvrzením této volby program obnoví celou adresářovou strukturu včetně všech souborů ze všech provedených záloh – od poslední plné zálohy včetně všech následujících přírůstkových. Program se nejdříve zeptá, zda se má adresářová struktura obnovit:
    • do původního umístění – které je totožné s umístěním všech adresářů a souborů na serveru – nebo
    • do libovolného adresáře, odkud je posléze možné adresářovou strukturu přesouvat podle potřeby.

3.3.3. Obnovení všech souborů kromě souborových příloh (Restore all files except file attachments)

  • Obnovení všech souborů může být v závislosti na velikosti zálohy a výkonu serveru časově velmi náročná operace. V krizové situaci je proto možné rozdělit obnovení zálohy do dvou fází:
    • V první fázi je možné obnovit pouze adresářovou strukturu bez souborových příloh, resp. bez všech adresářů „Files“ tak, aby bylo možné zprovoznit všechny NET Genia a služby,
    • a ve druhé fázi pak obnovit samotné souborové přílohy.

3.3.4. Obnovení souborových příloh (Restore file attachments only)

  • Samostatné obnovení souborových příloh má význam v případě, kdy bylo obnovení rozděleno do dvou fází:
    • V první fázi je možné obnovit pouze adresářovou strukturu bez souborových příloh, resp. bez všech adresářů „Files“ tak, aby bylo možné zprovoznit všechny NET Genia a služby,
    • a ve druhé fázi pak obnovit samotné souborové přílohy.