Zálohy prodává každý. Mnohem méně hostingů ti řekne, kde jsou uložené, a přitom jen to rozhoduje o tom, jestli ti záloha v den průšvihu pomůže. Záloha není archiv - je to kopie, kterou jde obnovit, na funkční hardware, v čase, s nímž se dá žít, a obsahující všechno, co server potřebuje, aby byl zase sám sebou. Většina věcí, kterým lidé říkají záloha, selže v jednom z těch čtyř testů, a obvykle v posledním: databáze byla samostatná služba, startovací proměnné nikdy nebyly soubory, nebo polovina dat pluginů ležela ve složce, na kterou nikdo nepomyslel.
Tento článek je o podobě zálohovací politiky pro jeden nebo dva servery - co do ní patří, kde kopie leží, jak dlouho žijí a v jakém pořadí věci vracíš zpět. Zkouška, která dokáže, že cokoli z toho funguje, je samostatná práce, popsaná v článku vyzkoušej obnovu dřív, než ji budeš potřebovat, a databáze mají vlastní pravidla v článku zálohy a obnova databází.
Co musí být v záloze#
Vyjdi z otázky „kdyby se tenhle server právě teď smazal, co bych potřeboval, abych ho přesně znovu postavil?“ a odpověď nikdy není jen soubor se savem.
| Zátěž | Patří do archivu | Je jinde |
|---|---|---|
| Minecraft (Paper) | world/, world_nether/, world_the_end/, plugins/, server.properties, ops.json, whitelist.json, banned-players.json | Číslo buildu Paperu, verze Javy, každý plugin, který ukládá data do databáze |
| Valheim | worlds_local/ (.db a .fwl), adminlist.txt, bannedlist.txt, permittedlist.txt | Spouštěcí argumenty, verze pluginů BepInEx |
| Hry na Source enginu | cfg/, maps/, addons/, konfigurační soubor serveru | Obsah z Workshopu, který se stahuje znovu, token herního serveru |
| Aplikace v Node nebo Pythonu | Zdrojáky nebo commit nasazení, .env, každý adresář uploads/ | node_modules, databáze, samotný repozitář |
| WordPress | wp-content/, wp-config.php, .htaccess | Databáze, která je většina webu |
| Postgres nebo Mongo | Soubor s dumpem | Role a oprávnění, pokud se nezálohují zvlášť |
Tři kategorie chybí pořád dokola.
- Databáze. Je to jiná služba s jiným mechanismem zálohování a souborový archiv běžící databáze není její záloha. Pokud tvůj plugin s oprávněními pro Minecraft, zdroje pro FiveM nebo webová aplikace drží stav v databázi, archiv bez té databáze obnoví server, který nastartuje a nic si nepamatuje.
- Cokoli mimo adresář serveru. Zálohy v panelu archivují vlastní soubory serveru. Cron úloha na VDS zapisující do
/opt/tools, druhý mount nebo adresář s logy přesunutý kvůli místu tam není, pokud jsi to tam nedal. - Nastavení, která nejsou soubory. Startovací proměnné, přidělené porty, rozvrhy, oprávnění subuživatelů a plán, na kterém server běží, žijí v databázi panelu, ne na disku. Obnovený archiv se vrátí se správným světem a špatným startovacím příkazem. Vedle záloh si drž textovou poznámku se startovacím řádkem, alokacemi a vším, co jsi oproti výchozímu stavu změnil. Zabere to dvě minuty a je to rozdíl mezi obnovou za dvacet minut a za dvě hodiny.
Do té poznámky patří i informace o verzích. Složka world/ z Minecraftu 1.21.4 spuštěná pod 1.20 se nenačte a modpack obnovený bez přesných verzí modů způsobí stejný pád, jaký měla záloha vrátit zpět - viz co dělat, když aktualizace modu něco rozbije.
Kde kopie leží#
Pravidlo, které přežilo každou změnu v technologii úložišť, je 3-2-1: tři kopie dat, na dvou různých druzích úložiště nebo systémech, z toho jedna někde, kde ji nelze zničit společně s prvními dvěma. Není to slogan nějakého dodavatele; je to přiznání, že poruchy přicházejí ve shlucích.
Na jeden hostovaný server se to dá vyjádřit konkrétně:
- Živá data na nodu, do kterých se právě teď zapisuje. To je kopie, ne záloha.
- Záloha pořízená mimo stroj, který chrání. Archiv na stejném úložišti jako to, co chrání, kryje přesně jednu poruchu: že smažeš vlastní svět. Nekryje nic z disku, úložiště, stroje ani účtu.
- Kopie, kterou držíš ty. Stažená na tvůj disk nebo odeslaná do úložiště, které s tvým hostingem nemá nic společného. To je ta, která přežije případ, kdy tvůj účet zmizí, a je to ta, kterou skoro nikdo nemá.
Přerušovaná část plánu většiny lidí je šipka od archivu k testovacímu serveru. Archiv, který touto šipkou nikdy neprošel, je soubor s užitečným názvem.
Retence: kolik, jak staré a která je zamčená#
Retence je otázka, jakou chybu očekáváš. Zálohy z posledního dne zachytí pád nebo špatnou aktualizaci. Zálohy staré tři týdny zachytí to, čeho si nikdo nevšiml: plugin, který tiše poškozuje inventáře hráčů, griefera se záznamem v ops nebo tabulku, která v úterý přišla o řádky.
Klasické schéma děd-otec-syn: sedm denních záloh, čtyři týdenní a několik měsíčních. Na herním plánu se dvěma sloty to provozovat nejde, takže použij poctivou malou verzi:
- Slot 1 rotuje. Noční záloha, která přepisuje včerejší. To je tvoje krytí pro pád.
- Slot 2 je zamčený a drží poslední známý funkční stav: zálohu, kterou jsi pořídil před poslední aktualizací, před poslední změnou modů nebo po posledním úspěšném testu obnovy. Aktualizuj ho záměrně, nikdy podle rozvrhu.
- Hloubku dává tvoje vlastní kopie. Rotující zálohu stáhni jednou týdně a drž čtyři takové. Úložiště na tvém stroji je mnohem levnější než slot a čtyři týdny historie tě stojí jedno přetažení myší týdně.
Na RE:NODE mají herní plány dva backup sloty, řady pro aplikace, web a databáze mají dva až šest podle úrovně a řada VDS má jeden. Sloty má každý plán - nic z toho není omezeno cenou. Zálohy se pořizují na požádání nebo podle rozvrhu, obnovují se tlačítkem místo ticketu, dají se stáhnout a zamknout proti rotaci. Kde leží kopie mimo stroj, nezveřejňujeme, a právě proto je bod 3 výše tvoje práce, ne naše.
Konzistence: rozdíl mezi kopií a snapshotem#
Většina herních serverů drží svět v paměti a periodicky ho zapisuje. Archivace těch souborů uprostřed zápisu dá směs dvou stavů a ten způsob selhání je zákeřný, protože archiv vypadá v pořádku: správná velikost, správné názvy souborů a svět, který se nenačte nebo se načte s dírou.
Tři cesty ven, v pořadí podle preference:
- Zastav server, udělej backup, spusť ho. Dokonalá konzistence za cenu několika minut offline. Pro malou partu je to správná odpověď a v 05:00 si toho nikdo nevšimne.
- Nejdřív vyprázdni buffery. Minecraftu lze říct, aby přestal zapisovat a pak dal všechno na disk:
save-off, potomsave-all flush, backup a nakonecsave-on. Palworld a Project Zomboid mají konzolový příkazSave, respektivesave. 7 Days to Die másaveworld. - Přijmi riziko u skutečně append-only dat. Logy, nahraná média, statické soubory. Nic, co proces drží otevřené a přepisuje.
Valheim si zaslouží vlastní řádek, protože je častou obětí: čisté zastavení svět uloží, zabití procesu ne a výchozí -saveinterval je 1800 sekund. Záloha běžícího Valheim serveru může archivovat svět zaostávající za hrou až o půl hodiny. Zkrácení toho intervalu popisuje průvodce dedikovaným serverem Valheim.
Pořadí těchto kroků na časovači je tématem článku plánované úlohy, které stojí za to mít - ve zkratce, příkaz pro vyprázdnění bufferů jde několik minut před úlohu backupu, ne ve stejné minutě, a noční restart jde po archivu, ne vedle něj, z důvodů uvedených v článku rozvrhy restartů, které pomáhají.
Ruční pořízení zálohy#
Jednou to budeš dělat: před riskantní změnou, před migrací, nebo protože chceš kopii, která není v rukou tvého hostingu. Přes SFTP nebo správce souborů můžeš složky stáhnout přímo, ale vytvořit archiv nejdřív na straně serveru je rychlejší a dá ti něco, z čeho spočítáš kontrolní součet.
$ cd /home/container$ tar -czf /home/container/backup-$(date +%F).tar.gz \ world world_nether world_the_end plugins server.properties ops.json$ sha256sum backup-$(date +%F).tar.gz > backup-$(date +%F).sha256Pak ověř, než mu uvěříš, a znovu po stažení:
$ gzip -t backup-2026-09-21.tar.gz && echo "archive intact"$ tar -tzf backup-2026-09-21.tar.gz | wc -l$ sha256sum -c backup-2026-09-21.sha256Tři čísla stojí za to si pokaždé zapsat: počet souborů, velikost v bajtech a jak dlouho archiv vznikal. Záloha, která je najednou o 90 % menší než ta z minulého týdne, je nejspolehlivější včasné varování, jaké dostaneš, a vidět ho jde jen tehdy, pokud ses na tu z minulého týdne vůbec někdy podíval. gzip -t zachytí useknuté stažení, což je další častý nepříjemný objev - archiv o 4 GB, který skončil na 3,1 GB, protože se zavřela karta v prohlížeči.
Pamatuj, že archiv obsahuje tvoje tajemství. wp-config.php, .env, hesla k RCON a přihlašovací údaje k databázi putují s ním. Se staženou zálohou zacházej jako se serverem samotným a pokud se některé z těchto věcí právě teď nacházejí v souboru, který jsi někomu poslal e-mailem, přečti si proměnné prostředí a tajné údaje.
Obnova bez zhoršení situace#
Při incidentu je instinkt obnovit hned přes původní stav. Šedesát vteřin odolej, protože rozbitý stav je důkaz a chystáš se ho zničit.
- Zastav server. Ne restart - zastav. Běžící proces přepíše všechno, co tam dáš.
- Udělej zálohu rozbitého stavu, nebo aspoň stáhni postiženou složku. Pokud se obnova ukáže starší, než sis myslel, je to jediná cesta zpět k verzi s dnešní prací.
- Obnov na místo, které není produkce, pokud máš jakékoli pochybnosti, která záloha je ta správná. Obnova na druhý server stojí hodinu malého plánu a odstraní hádání.
- Obnov soubory a pak databázi, v tomto pořadí, a zkontroluj, že verze schématu, kterou aplikace očekává, odpovídá obnovenému kódu. Databáze novější než soubory je nejhorší případ: viz migrace bez výpadku.
- Znovu aplikuj nastavení na straně panelu podle své poznámky - startovací proměnné, porty, rozvrhy.
- Spusť a ověř něco konkrétního. Ne „nabíhá to“. Přihlas se, otevři to, co se rozbilo, zkontroluj poslední změnu, na kterou si pamatuješ před tím, než záloha proběhla.
Pět způsobů, jak se záloha ukáže jako nezáloha#
- Je na stejném disku. Průběžné savy samotné hry, složka
backups/vedle světa, kopie v/home/container/old. Všechny přežijí přesně ty chyby, které uděláš ve správci souborů, a žádnou z těch, které způsobí hardware. - Chybí v ní databáze. Popsáno výše a u aplikací a webů to způsobí víc neúspěšných obnov než všechny ostatní příčiny dohromady.
- Proběhla, ale na ničem. Rozvrh, který zálohuje přejmenovaný server, nebo příkaz dumpu, jehož databáze změnila název, vytváří každou noc malý archiv. Sleduj velikost.
- Nejde přečíst. Useknutá stažení, archiv vytvořený při plném disku, poškozený gzip stream. Kontrolní součet při vzniku a kontrolní součet po přenosu nestojí nic.
- Nikdo nezná postup. Archiv je dokonalý a ten, kdo ho nastavil, spí. Kroky obnovy napiš do stejné poznámky jako startovací proměnné.
Záloha, kterou nikdo neobnovil, je hypotéza. Občas jednu obnov na testovací server; zabere to půl hodiny a je to jediný způsob, jak to vědět.
Rozvrh podle toho, o co se dá přijít#
Zálohovací politiku popisují dvě čísla a jejich pojmenování zastaví většinu sporů. Recovery point objective (RPO) je, kolik práce jsi ochoten ztratit - mezera mezi zálohami. Recovery time objective (RTO) je, jak dlouho jsi ochoten být mimo provoz, než to vrátíš zpět.
| Zátěž | Rozumné RPO | Rozumné RTO | Proč |
|---|---|---|---|
| Malý survival server, kamarádi | 24 hodin | 1 hodina | Den stavění je otravný, ne fatální |
| Vytížený komunitní herní server | 6 hodin | 30 minut | Pokrok hráčů a nákupy v obchodě |
| Webová aplikace nebo obchod | 1 hodina nebo méně | 30 minut | Objednávky zapsané mezi zálohami jsou pryč |
| Databáze za aplikací | Minuty, pokud je potřebuješ | Podle velikosti | Potřebuje dumpy plus write-ahead logy, ne jen dumpy |
| Vývojový nebo testovací server | Týdně | Kdykoli | Levně se postaví znovu z repozitáře |
Řádek, který lidi dostane, je ten poslední skutečný. Pokud je ztráta hodiny zápisů do databáze nepřijatelná, noční dumpy to nevyřeší bez ohledu na retenci a potřebuješ průběžné archivování na infrastruktuře, kterou ovládáš - což obvykle znamená VDS, ne slot. Pro všechno ostatní je noční backup plus zamčená známá funkční kopie plus týdenní stažení kompletní politika a jde to i na nejmenším prodávaném plánu.
FAQ#
Jak často zálohovat herní server?
Každou noc, v nejklidnější hodinu, a navíc ručně těsně před každou aktualizací, změnou modů nebo experimentem s konfigurací. Ruční zálohy jsou důležitější než rozvrh: většina obnov se dělá kvůli změně, kterou někdo provedl, ne kvůli poruše.
Obsahuje záloha moji databázi?
Ne, pokud jsi její dump nedal do složky serveru před spuštěním zálohy. Zálohy v panelu archivují soubory serveru. Databáze - slot databáze v panelu nebo samostatný server PostgreSQL či MongoDB - je jiná služba a potřebuje vlastní dump, proto pořadí v rozvrhu z tohoto článku dává dump na první místo.
Je zamčená záloha v bezpečí navždy?
Je v bezpečí před rotací, ne před smazáním. Zámek zabrání tomu, aby plánovaná záloha vytlačila tvoji známou funkční kopii ze slotů. Nepřežije smazání serveru a nenahrazuje tvoji vlastní staženou kopii.
Jak dlouho trvá obnova?
Dost dlouho na to, abys ji změřil, a ne odhadoval. Obnova 500MB herního serveru ze zálohy v panelu trvá pár minut; modovaný server o 40 GB s databází je záležitost na celý večer. Jediná poctivá odpověď je číslo, které jsi naměřil, když jsi to naposledy zkusil, a proto bys to zkusit měl.
Můžu obnovit zálohu na jiný server?
Ano, a je to nejbezpečnější způsob, jak ji ověřit. Stáhni archiv, nahraj ho na druhý server na stejném nebo větším plánu a spusť ho tam. Takto se také stěhuješ mezi plány nebo hostingy - stranu DNS a hráčů pokrývá stěhování serveru bez ztráty hráčů.
A co záloha celé platformy, ne jen mého serveru?
To je práce hostingu a je oddělená od té tvé. Naše jsou noční, kopírované na samostatný hardware, ověřované a čištěné podle rozvrhu. Chrání platformu, ne tvoje rozhodnutí - svět, který jsi včera smazal, z ní obnovit nejde, a na to jsou tvoje vlastní backup sloty.




Komentáře
Zcela anonymně: žádný účet, žádný e-mail, žádné cookie. Ukládáme jen jméno, které napíšeš, text a čas - nic dalšího. Počet odkazů je omezený a značkování se nevykresluje.