Při upgradu na nový Docker image se automaticky spustí všechny migrace, které dosud spuštěny nebyly. To může v závislosti na velikosti vašich dat chvíli trvat; průběh zjistíte sledováním logů. Další informace najdete v naší dokumentaci Logging.
Ukládání dat
Overleaf Community Edition a Server Pro ukládají svá data na třech oddělených místech:- Databáze MongoDB: Zde jsou uložena data uživatelů a projektů.
- Redis: slouží jako vysoce výkonná mezipaměť pro rozpracovaná data, především informace související s úpravami projektů a spoluprací.
- Souborový systém Overleafu: ukládá needitovatelné soubory projektů (včetně obrázků) a slouží také jako dočasná disková mezipaměť během kompilace projektů.
Může jít o
~/sharelatex_data nebo ~/overleaf_data, podle toho, kdy byla vaše instance nastavena.Pro soubory projektů a data úplné historie projektů podporujeme také úložné backendy kompatibilní s S3.
Provedení konzistentní zálohy
Při vytváření konzistentní zálohy je nutné zahrnout tři úložiště:- MongoDB
- Redis
- Data souborového systému Overleafu
3.5.0 proces vypnutí automaticky uzavře web a odpojí uživatele.
Pro vypnutí instance spusťte bin/docker-compose stop sharelatex, pokud používáte nasazení přes Toolkit, nebo docker compose stop sharelatex, pokud používáte Docker Compose.
Jakmile je kontejner sharelatex zastaven, můžete zahájit zálohování.
Po úspěšném dokončení zálohování musíte kontejner sharelatex znovu spustit. Spusťte k tomu bin/docker-compose start sharelatex, pokud používáte nasazení přes Toolkit, nebo docker compose start sharelatex, pokud používáte Docker Compose.
- Zálohy by měly být uloženy na jiném serveru, než na kterém běží vaše instance Overleafu, ideálně na úplně jiném místě.
- Replikace databází na více instancí MongoDB může poskytnout určitou redundanci, ale nechrání před poškozením dat.
- Testování záloh je nejlepší způsob, jak zajistit, že jsou úplné a funkční.
MongoDB
MongoDB obsahuje nástroj příkazové řádky mongodump, pomocí kterého lze vytvořit zálohu dat uživatelů a projektů uložených v databázi.Data souborového systému Overleafu
U nasazení přes Toolkit je cesta, kde jsou uloženy needitovatelné soubory, určena vconfig/overleaf.rc proměnnou prostředí OVERLEAF_DATA_PATH, podle toho, kdy byla vaše instance vytvořena, však může jít o data/sharelatex.
Pro vytvoření úplné zálohy je nutné tento adresář rekurzivně zkopírovat pomocí nástroje, jako je rsync.
Redis
Redis ukládá uživatelské relace a čekající aktualizace dokumentů, než jsou zapsány do MongoDB. Doporučenou konfigurací perzistence Redisu je perzistence Append Only File (AOF). Uživatelé Toolkitu mají u nových instalací perzistenci AOF ve výchozím stavu povolenou; stávající uživatelé najdou další informace o povolení AOF zde. Pokud se rozhodnete nadále používat snímky RDB spolu s perzistencí AOF, můžete soubor RDB zkopírovat jako zálohu na bezpečné místo.Migrace dat mezi servery
V ideálním případě zatím v nové instanci nemáte žádná cenná data. Postup pro slučování dat instancí nemáme. Za předpokladu, že nová instance zatím neobsahuje žádná data, můžete postupovat podle následujících kroků. Zjednodušeně: vytvoříme tar archiv svazkůmongo, redis a overleaf, zkopírujeme ho na nový server a tam ho opět rozbalíme.
Toolkit
Docker Compose
mongo, redis a overleaf.
Při spuštění pod uživatelem root (nebo se sudo) zachová tar vlastníka/skupinu a oprávnění souborů, což je při obnově zálohy zásadní.
Podrobný popis složek
Následující složky mají doplňující značky:
- (b) zahrnout do záloh, nejlépe při zastavené instanci kvůli konzistenci
- (d) lze smazat
- (e) dočasné soubory, lze smazat při zastavené instanci
~/mongo_data(b)- datový adresář mongodb
~/redis_data(b)- datový adresář databáze redis
~/overleaf_data- bin
- synctex (d)
- v nejnovějším vydání se nepoužívá, dříve se používala vlastní binárka synctex (synctex slouží k mapování zdroje mezi soubory .tex a PDF)
- synctex (d)
- data
- cache (e)
- mezipaměť binárních souborů pro kompilace
- compiles (e)
- zde probíhá kompilace LaTeXu
- db.sqlite (d)
- v nejnovějším vydání se nepoužívá, dříve ukládal údaje mezipaměti clsi (nyní buď přesunuto do jednoduchých map v paměti, nebo se prochází disk)
- db.sqlite-wal (d)
- v nejnovějším vydání se nepoužívá, viz db.sqlite
- output (e)
- úložiště výstupu kompilace LaTeXu pro poskytování klientovi
- template_files (b)
- obrázkové náhledy systému šablon (pouze Server Pro)
- user_files (b)
- binární soubory projektů
- history (b)
- soubory úplné historie projektů
- cache (e)
- tmp
- dumpFolder (e)
- dočasné soubory ze zpracování souborů zip
- uploads (e)
- vyrovnávací paměť pro nahrávání souborů (nahrání binárního souboru / nového projektu ze zip)
- projectHistories (e)
- dočasné soubory pro migrace úplné historie projektů
- dumpFolder (e)
- bin

