6 marca, 2022

Jak wykonać kopię zapasową systemu Debian używając Backupninja

Ostatnia aktualizacja: 19 września 2020 r. przez Gabriel Cánepa

roztropność lub doświadczenie przez katastrofę może nauczyć każdego sysadmina znaczenia częstych kopii zapasowych systemu. Możesz to zrobić, pisząc stare dobre skrypty powłoki lub używając jednego (lub więcej) z wielu narzędzi do tworzenia kopii zapasowych dostępnych dla zadania (np. Clonezilla, Duplicity). W ten sposób im więcej narzędzi poznasz, tym lepiej poinformujesz się o decyzjach podczas wdrażania rozwiązania do tworzenia kopii zapasowych.

w tym artykule przedstawimy Backupninja, lekkie i łatwe w konfiguracji Narzędzie do tworzenia kopii zapasowych systemu. Przy pomocy programów takich jak rdiff-backup, duplicity, mysqlhotcopy i mysqldump, Backupninja oferuje typowe funkcje tworzenia kopii zapasowych, takie jak zdalne, bezpieczne i przyrostowe kopie zapasowe systemu plików, szyfrowana kopia zapasowa i kopia zapasowa bazy danych MySQL/MariaDB. Możesz selektywnie włączać raporty statusu e-mail, a także tworzyć kopie zapasowe ogólnych informacji o sprzęcie i systemie. Jedną z kluczowych zalet Backupninja jest wbudowany kreator oparty na konsoli (o nazwie ninjahelper), który umożliwia łatwe tworzenie plików konfiguracyjnych dla różnych scenariuszy tworzenia kopii zapasowych.

minusem, że tak powiem, jest to, że Backupninja wymaga zainstalowania innych programów pomocniczych, aby w pełni wykorzystać wszystkie jego funkcje. Podczas gdy pakiet RPM Backupninji jest dostępny dla dystrybucji opartych na Red hacie, zależności Backupninji są zoptymalizowane dla Debiana i jego pochodnych. Przy tym nie zaleca się próbować Backupninja dla systemów opartych na Red Hat.

w tym samouczku omówimy instalację Backupninja dla dystrybucji opartych na Debianie.

instalacja Backupninja

uruchom następujące polecenie jako root:

# aptitude install backupninja

podczas instalacji zostanie utworzonych kilka plików i katalogów:

  • /usr/sbin/backupninja jest głównym skryptem powłoki bash.
  • /etc/cron.d/backupninja, domyślnie poleca cron uruchamianie głównego skryptu raz na godzinę.
  • /etc/logrotate.d/backupninja obraca logi utworzone przez program.
  • /etc/backup.d/ jest katalogiem, w którym znajdują się pliki konfiguracyjne dla akcji tworzenia kopii zapasowych.
  • /etc/backupninja.conf jest głównym plikiem konfiguracyjnym zawierającym opcje Ogólne. Jest dobrze skomentowany i szczegółowo wyjaśnia każdą opcję.
  • /usr/share/backupninja jest katalogiem, w którym znajdują się skrypty używane przez Backupninja (aka Handlery). Są to skrypty, które są odpowiedzialne za wykonywanie rzeczywistej pracy. W tym katalogu znajdziesz również pliki .helper, które służą do konfigurowania i konfigurowania menu ninjahelper.
  • /usr/share/doc/backupninja/examples zawiera szablony dla plików konfiguracyjnych akcji (rodzaj plików, które są tworzone przez ninjahelper).

uruchamianie ninjahelpera po raz pierwszy

kiedy próbujemy uruchomić ninjahelper, widzimy, że może być wymagana wewnętrzna zależność. Jeśli pojawi się monit, wprowadź yes i naciśnij ENTER, aby zainstalować dialog (narzędzie, które wyświetla przyjazne dla użytkownika okna dialogowe ze skryptów powłoki).

po naciśnięciu klawisza Enter po wpisaniu tak, Backupninja zainstaluje okno dialogowe i wyświetli następujący ekran po zakończeniu.

przykład 1: Utwórz kopię zapasową informacji o sprzęcie i systemie

po uruchomieniu ninjahelper utworzymy nową akcję kopii zapasowej:

jeśli konieczne programy pomocnicze nie są zainstalowane, zostaną wyświetlone następujące ekrany. Zignoruj ten krok, jeśli te pakiety zostały już zainstalowane w Twoim systemie.

następny krok polega na wybraniu elementów, które mają być częścią tej kopii zapasowej. Pierwsze cztery są domyślnie zaznaczone, ale można je odznaczyć, naciskając spację.

po zakończeniu naciśnij OK, aby kontynuować. Będziesz mógł wybrać, czy chcesz użyć domyślnego pliku konfiguracyjnego dla tej akcji tworzenia kopii zapasowej (/etc/backup.d/10.sys), czy chcesz utworzyć nową. W tym drugim przypadku nowy plik o tej samej zawartości co domyślny zostanie utworzony w tym samym katalogu, ale o nazwie 11.sys, i tak dalej dla przyszłych akcji tworzenia kopii zapasowych systemu. Należy pamiętać, że plik konfiguracyjny można edytować po jego utworzeniu za pomocą preferowanego edytora tekstu.

przykład 2: Przyrostowy Rsync Pull Backup zdalnego katalogu

jak zapewne wiesz, rsync jest szeroko stosowany do synchronizacji plików i folderów w sieci. W poniższym przykładzie omówimy podejście do pobierania przyrostowych kopii zapasowych zdalnego katalogu z hardlinkingiem w celu zapisania danych historycznych i przechowywania ich na naszym lokalnym serwerze plików. Takie podejście pomoże nam zaoszczędzić miejsce i zwiększyć bezpieczeństwo po stronie serwera.

Krok 1: napisz własny skrypt w katalogu /etc/backup.d z następującą zawartością i chmod to 600. Zauważ, że ten katalog może zawierać, oprócz zwykłych plików konfiguracyjnych, skrypty, które chcesz uruchomić podczas wykonywania Backupninja, z zaletą używania zmiennych obecnych w głównym pliku konfiguracyjnym.

# 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

w powyższej konfiguracji, opcja --link-dest rsync służy do twardego linkowania niezmienionych plików (we wszystkich atrybutach) z $localdir-old do katalogu docelowego ($localdir).

Krok 2: zanim Backupninja zostanie uruchomiona po raz pierwszy, Katalog nadrzędny (w tym przypadku/home/gacanepa) jest pusty. Za pierwszym razem wykonujemy:

# backupninja -n

tworzony jest katalog backup.0, a później w trakcie procesu jego nazwa zostaje zmieniona na backup.1.

po raz drugi uruchamiamy Backupninja, backup.0 jest ponownie tworzony i backup.1 jest utrzymywany.

Krok 3: Sprawdź, czy zawartość backup.1 to twarde łącza do plików w backup.0, porównując odpowiednie numery i-węzłów i rozmiary katalogów.

wniosek

Backupninja to nie tylko klasyczne narzędzie do tworzenia kopii zapasowych,ale także łatwe w konfiguracji Narzędzie. Możesz pisać własne programy obsługi, aby uruchomić Backupninja zgodnie z indywidualnymi plikami konfiguracyjnymi znajdującymi się w /etc/backup.d, a nawet możesz pisać helpery dla ninjahelper w celu włączenia ich do głównego interfejsu.

na przykład, jeśli utworzysz moduł obsługi o nazwie xmodulo w /usr/share/backupninja, domyślnie uruchomi on KAŻDY plik z rozszerzeniem .xmodulow /etc/backup.d. Jeśli zdecydujesz się dodać obsługę xmodulo do ninjahelper, możesz napisać odpowiedni helper jako xmodulo.helper. Ponadto, jeśli chcesz, aby Backupninja uruchomił dowolny skrypt, po prostu dodaj go do /etc/backup.d i możesz iść. Zapoznaj się z tym tutorialem Backupninja, aby uzyskać szczegółowe informacje na temat tworzenia niestandardowego planu kopii zapasowych.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.