Jak píše Ondřej Vaniš, použijte parametr
--add-drop-database, příkaz pro smazání databáze se tak přidá na začátek obnovovacího skriptu.
Mimochodem, v tom zálohovacím příkazu máte zbytečný
cat –
cat se používá pro spojení více souborů do jednoho výstupu, pokud máte
cat v koloně, je to snad vždy zbytečné. Stačí výstup toho
ssh přesměrovat přímo do souboru.
Rozhodně bych nespouštěl obnovu nebo zálohování přímo přes SSH příkazy - vypadne ti spojení a budeš se divit, co se ti nahraje do databáze.
V databázi bude poslední commitnutá transakce. Pokud by v průběhu obnovy databáze vypadlo spojení, neřešil bych, co se stihlo obnovit a co ne, to zavání průšvihem. Prostě bych tu obnovu spustil znova od začátku. Řešit výpadky spojení má smysl v případě, kdy ta obnova databáze bude trvat desítky minut a více a výpadek spojení by obnovu podstatně prodloužil.
Na výpadek spojení je náchylné spíš to zálohování databáze, protože tam asi není žádná kontrola, aby se záloha zopakovala, pokud se nepodaří. Takže pokud by výpadky spojení byl problém, je potřeba to vyřešit hlavně na té straně zálohování – nejspíš dostatečným prostorem na serveru, kam se záloha uloží, a pak už se jen přenese rsyncem jinam. Pak už je řešení obnovy snadné, postup se akorát otočí – rsyncem se přenese záloha na cílový server a tam se jen naimportuje.