4.9. Zálohování a obnova
4.9.1. Co zálohovat
Elza uchovává data na dvou místech, která tvoří jeden celek:
databáze,
adresář dms pracovního adresáře (
<workingDir>/dms) s přílohami, vygenerovanými výstupy, publikacemi a soubory importních dávek. Databáze odkazuje na každý soubor jeho cestou v tomto adresáři.
Obojí je nutné zálohovat a obnovovat společně, ze stejného okamžiku.
Databáze obnovená bez odpovídajícího adresáře dms odkazuje na
chybějící soubory; soubory bez záznamu v databázi se považují za
osiřelé.
Zbytek pracovního adresáře zálohovat není nutné: balíčky jsou součástí
distribuce a ostatní data aplikace znovu vytvoří. Konfiguraci
(config/elza.yaml) zálohujte spolu s ostatní konfigurací serveru.
Zálohovat lze i celý virtuální počítač, pokud je snímek databáze a souborového systému konzistentní.
4.9.2. Databáze
Tabulky ap_cached_access_point a arr_cached_node jsou cache
automaticky obnovované při startu; jejich obsah lze ze zálohy vynechat
(jejich definici nikoli). Příklad:
pg_dump -Fc --exclude-table-data=ap_cached_access_point \
--exclude-table-data=arr_cached_node \
-U elza -f elza.dump elza
Velikost zálohy středně velké instalace je v řádu jednotek gigabajtů.
Při použití instalačních skriptů zálohuje databázi pravidelně příkaz
elza-backup s příslušným časovačem (viz
https://get.lightcomp.com/elza/).
4.9.3. Adresář dms
Adresář zálohujte po databázi, nebo obojí při zastavené aplikaci. Soubor vzniklý mezi oběma zálohami je pak jen osiřelým souborem, což nevadí. Například:
rsync -a --delete /opt/elza/work/dms/ /backup/elza/dms/
Mazané soubory se nejprve přesouvají do dms/_trash/<datum>/ a
odstraní se po elza.dms.trashRetentionDays (výchozí 30 dní); koš
zálohovat není nutné.
4.9.4. Frekvence a doba uchování
Frekvence závisí na organizaci a na objemu práce v aplikaci. Typické nastavení:
Položka |
Frekvence |
|---|---|
Úplná záloha databáze |
denně nebo týdně, například ve 2:00 |
Adresář dms |
po záloze databáze |
Před každou aktualizací |
vždy, obojí |
Uchovávejte alespoň posledních osm týdenních záloh a vybrané zálohy po delší dobu, například roční zálohy po dobu deseti let. Elza uchovává archivní popis dlouhodobě, proto musí být možné napravit i chybu zjištěnou se zpožděním.
4.9.5. Obnova
Zastavte aplikaci.
Vytvořte prázdnou databázi se stejným vlastníkem a locale podle Příprava databáze, ale bez vytvoření rozšíření PostGIS; záloha je obsahuje. Obnovu proveďte jako superuživatel, protože vytvoření rozšíření to vyžaduje:
pg_restore -U postgres -d elza elza.dump
Obnovte adresář
dmsze stejného okamžiku.Spusťte verzi Elzy, se kterou byla záloha pořízena. Novější verze data při startu migruje; starší verze je přečíst nedokáže.
Počkejte na spuštění aplikace; cache se obnoví při startu.