.. Zdroj: elza/docs/admin-guide/source/09-backup.rst, elza e87a93d6d1 .. _admin_backup: ==================== Zálohování a obnova ==================== Co zálohovat ============ Elza uchovává data na dvou místech, která tvoří jeden celek: - **databáze**, - **adresář dms** pracovního adresáře (:file:`/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 :file:`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 (:file:`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í. .. _admin_backup_db: 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: .. code-block:: bash 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/). .. _admin_backup_files: 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: .. code-block:: bash rsync -a --delete /opt/elza/work/dms/ /backup/elza/dms/ Mazané soubory se nejprve přesouvají do :file:`dms/_trash//` a odstraní se po ``elza.dms.trashRetentionDays`` (výchozí 30 dní); koš zálohovat není nutné. 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. Obnova ====== #. Zastavte aplikaci. #. Vytvořte prázdnou databázi se stejným vlastníkem a locale podle :ref:`admin_install_db`, 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: .. code-block:: bash pg_restore -U postgres -d elza elza.dump #. Obnovte adresář :file:`dms` ze 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.