6 března, 2022

Jak zálohovat systém Debian pomocí Backupninja

Naposledy aktualizováno dne 19. září 2020 Gabriel Cánepa

obezřetnost nebo zkušenost s katastrofou může každého sysadmina naučit důležitosti častých záloh systému. Můžete tak učinit psaním starých dobrých skriptů shellu nebo pomocí jednoho (nebo více) z mnoha nástrojů pro zálohování dostupných pro danou úlohu (např. Čím více nástrojů se tedy seznámíte, tím lépe informovaná rozhodnutí učiníte při implementaci řešení zálohování.

v tomto článku představíme Backupninja, lehký a snadno konfigurovatelný nástroj pro zálohování systému. S pomocí programů jako rdiff-backup, duplicity, mysqlhotcopy a mysqldump, Backupninja nabízí společné funkce zálohování, jako jsou vzdálené, bezpečné a přírůstkové zálohování souborového systému, šifrované zálohování a zálohování databáze MySQL/MariaDB. Můžete selektivně povolit stavové e-mailové zprávy a můžete také zálohovat obecné informace o hardwaru a systému. Jednou z klíčových sil Backupninja je vestavěný průvodce konzole založené (volal ninjahelper), který vám umožní snadno vytvářet konfigurační soubory pro různé scénáře zálohování.

nevýhodou je, že Backupninja vyžaduje instalaci dalších pomocných programů, aby bylo možné plně využít všech jeho funkcí. Zatímco Backupninja rpm balíček je k dispozici pro distribuce Red Hat bázi, Backupninja závislostí jsou optimalizovány pro Debian a jeho deriváty. Proto se nedoporučuje, aby se pokusili Backupninja pro systémy založené Red Hat.

v tomto tutoriálu se budeme zabývat instalací Backupninja pro distribuce založené na Debianu.

instalace Backupninja

Spusťte následující příkaz jako root:

# aptitude install backupninja

během instalace bude vytvořeno několik souborů a adresářů:

  • /usr/sbin/backupninja je hlavní Bash shell skript.
  • /etc/cron.d/backupninja, ve výchozím nastavení instruuje cron spustit hlavní skript jednou za hodinu.
  • /etc/logrotate.d/backupninja otáčí protokoly vytvořené programem.
  • /etc/backup.d/ je adresář, kde jsou umístěny konfigurační soubory pro akce zálohování.
  • /etc/backupninja.conf je hlavní konfigurační soubor, který obsahuje obecné možnosti. Je dobře komentován a podrobně vysvětluje každou možnost.
  • /usr/share/backupninja je adresář, kde jsou umístěny skripty používané Backupninja (aka handlers). Jedná se o skripty, které mají na starosti skutečnou práci. V tomto adresáři najdete také soubory .helper, které slouží ke konfiguraci a nastavení nabídek ninjahelper.
  • /usr/share/doc/backupninja/examples obsahuje šablony pro konfigurační soubory akcí (druh souborů, které jsou vytvořeny pomocí ninjahelper).

spuštění ninjahelper poprvé

při pokusu o spuštění ninjahelper vidíme, že může být vyžadována interní závislost. Pokud se zobrazí výzva, zadejte yes a stisknutím klávesy ENTER nainstalujte dialog (nástroj, který zobrazuje uživatelsky přívětivá dialogová okna ze skriptů shellu).

když stisknete klávesu Enter po zadání Ano, Backupninja nainstaluje dialog a po dokončení zobrazí následující obrazovku.

Příklad 1: zálohování informací o hardwaru a systému

po spuštění ninjahelper vytvoříme novou akci zálohování:

pokud nejsou nainstalovány potřebné pomocné programy, zobrazí se nám následující obrazovky. Tento krok ignorujte, pokud již byly tyto balíčky ve vašem systému nainstalovány.

dalším krokem je výběr položek, které chcete být součástí této zálohy. První čtyři jsou ve výchozím nastavení vybrány, ale můžete je zrušit stisknutím mezerníku.

až budete hotovi, pokračujte stisknutím tlačítka OK. Budete si moci vybrat, zda chcete použít výchozí konfigurační soubor pro tuto akci zálohování (/etc/backup.d/10.sys), nebo chcete-li vytvořit nový. V druhém případě bude nový soubor se stejným obsahem jako výchozí vytvořen pod stejným adresářem, ale pojmenovaný 11.sys, a tak dále pro budoucí akce zálohování systému. Konfigurační soubor můžete upravit, jakmile je vytvořen pomocí preferovaného textového editoru.

příklad 2: Inkrementální Rsync Pull zálohování vzdáleného adresáře

jak pravděpodobně víte, rsync je široce používán k synchronizaci souborů a složek v síti. V následujícím příkladu budeme diskutovat o přístupu k přírůstkovým zálohám vzdáleného adresáře s pevným spojením pro uložení historických dat a jejich uložení na našem lokálním souborovém serveru. Tento přístup nám pomůže ušetřit místo a zvýšit bezpečnost na straně serveru.

Krok 1: Napište vlastní skript do adresáře /etc/backup.d s následujícím obsahem a chmod do 600. Všimněte si, že tento adresář může kromě jednoduchých konfiguračních souborů obsahovat skripty, které chcete spustit při spuštění Backupninja, s výhodou použití proměnných přítomných v hlavním konfiguračním souboru.

# REMOTE USERuser=root# REMOTE HOSThost=dev1# REMOTE DIRECTORYremotedir=/home/gacanepa/# LOCAL DIRECTORYlocaldir=/home/gacanepa/backup.0# LOCAL DIRECTORY WHERE PREVIOUS BACKUP WAS STOREDlocaldirold=/home/gacanepa/backup.1mv $localdir $localdirold# RSYNCrsync -av --delete --recursive --link-dest=$localdirold $host:$remotedir $localdir

ve výše uvedené konfiguraci je volba --link-dest rsync použita pro pevné propojení nezměněných souborů (ve všech atributech) z $localdir-old do cílového adresáře ($localdir).

Krok 2: před prvním spuštěním Backupninja je nadřazený adresář (v tomto případě/home/gacanepa) prázdný. Při prvním spuštění:

# backupninja -n

je vytvořen adresář backup.0 a později se jeho název změní na backup.1.

při druhém spuštění Backupninja je backup.0 znovu vytvořen a backup.1 je zachován.

Krok 3: ověřte, že obsah backup.1 jsou pevné odkazy na soubory v backup.0 porovnáním příslušných čísel inode a velikostí adresářů.

závěr

Backupninja není jen klasický zálohovací nástroj, ale také snadno konfigurovatelný nástroj. Můžete psát své vlastní obslužné programy pro spuštění Backupninja podle jednotlivých konfiguračních souborů umístěných v /etc/backup.d a můžete dokonce psát pomocníky pro ninjahelper, abyste je zahrnuli do svého hlavního rozhraní.

pokud například vytvoříte obslužnou rutinu s názvem xmodulo v /usr/share/backupninja, spustí ve výchozím nastavení každý soubor s příponou .xmodulo v /etc/backup.d. Pokud se rozhodnete přidat popisovač xmodulo do ninjahelper, můžete příslušného pomocníka napsat jako xmodulo.helper. Kromě toho, pokud chcete Backupninja spustit libovolný skript, stačí jej přidat do /etc/backup.d a je dobré jít. Podrobnosti o vytvoření vlastního plánu zálohování naleznete v tomto tutoriálu Backupninja.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.