marts 6, 2022

Sådan sikkerhedskopieres et Debian-system ved hjælp af Backupninja

sidst opdateret den 19.September 2020 af Gabriel C Larsnepa

forsigtighed eller oplevelse ved katastrofe kan lære enhver sysadmin vigtigheden af at tage hyppige systembackups. Du kan gøre det ved at skrive gode gamle shell scripts, eller ved hjælp af en (eller flere) af de mange backup værktøjer til rådighed for jobbet (f.eks. Jo flere værktøjer du bliver bekendt med, jo bedre informerede beslutninger vil du tage, når du implementerer en backup-løsning.

i denne artikel vil vi præsentere Backupninja, et let og let at konfigurere system backup værktøj. Ved hjælp af programmer som rdiff-backup, duplicity, mysqlhotcopy og mysqldump, Backupninja tilbyder fælles backup funktioner såsom remote, sikker og trinvis filsystem sikkerhedskopier, krypteret backup, og MariaDB database backup. Du kan selektivt aktivere status-e-mail-rapporter og kan også sikkerhedskopiere generelle udstyrs-og systemoplysninger. En nøglestyrke af Backupninja er en indbygget konsolbaseret guide (kaldet ninjahelper), der giver dig mulighed for nemt at oprette konfigurationsfiler til forskellige backup-scenarier.

ulempen er så at sige, at Backupninja kræver, at andre hjælpeprogrammer installeres for at drage fuld fordel af alle dens funktioner. Mens Backupninjas RPM-pakke er tilgængelig til Red Hat-baserede distributioner, er Backupninjas afhængigheder optimeret til Debian og dets derivater. Det anbefales derfor ikke at prøve Backupninja for Red Hat baserede systemer.

i denne vejledning dækker vi Backupninja-installationen til Debian-baserede distributioner.

installation af Backupninja

Kør følgende kommando som root:

# aptitude install backupninja

under installationen oprettes flere filer og mapper:

  • /usr/sbin/backupninja er den vigtigste bash shell script.
  • /etc/cron.d/backupninja, som standard instruerer cron at køre hovedscriptet en gang i timen.
  • /etc/logrotate.d/backupninja roterer logfilerne oprettet af programmet.
  • /etc/backup.d/ er den mappe, hvor konfigurationsfilerne til backup handlinger bor.
  • /etc/backupninja.conf er den vigtigste konfigurationsfil, der indeholder generelle indstillinger. Det er godt kommenteret og forklarer hver mulighed i detaljer.
  • /usr/share/backupninja er den mappe, hvor de scripts, der bruges af Backupninja, er placeret (aka handlere). Dette er de scripts, der har ansvaret for at udføre det faktiske arbejde. I denne mappe finder du også .helper filer, som bruges til at konfigurere og konfigurere ninjahelper menuer.
  • /usr/share/doc/backupninja/examplesindeholder skabeloner til handlingskonfigurationsfiler (den slags filer, der oprettes gennem ninjahelper).

kører ninjahelper for første gang

når vi forsøger at starte ninjahelper, kan vi se, at en intern afhængighed kan være påkrævet. Hvis du bliver bedt om det, skal du indtaste yes og trykke på ENTER-tasten for at installere dialog (et værktøj, der viser brugervenlige dialogbokse fra shell-scripts).

når du trykker på Enter efter at have skrevet ja, vil Backupninja installere dialog og præsentere følgende skærmbillede, når det er gjort.

eksempel 1: sikkerhedskopiering af udstyr og systeminfo

efter lanceringen ninjahelper opretter vi en ny backup-handling:

hvis nødvendigt hjælpeprogrammer ikke er installeret, vil vi blive præsenteret med følgende skærme. Se bort fra dette trin, hvis disse pakker allerede er installeret på dit system.

det næste trin består i at vælge de elementer, du vil være en del af denne sikkerhedskopi. De første fire er valgt som standard, men du kan fravælge dem ved at trykke på mellemrumstasten.

når du er færdig, skal du trykke på OK for at fortsætte. Du kan vælge, om du vil bruge standardkonfigurationsfilen til denne sikkerhedskopieringshandling (/etc/backup.d/10.sys), eller om du vil oprette en ny. I sidstnævnte tilfælde oprettes en ny fil med det samme indhold som standardfilen under den samme mappe, men navngivet 11.sys, og så videre til fremtidige system backup-handlinger. Bemærk, at du kan redigere konfigurationsfilen, når den er oprettet med din foretrukne teksteditor.

eksempel 2: Incremental rsync Pull Backup af en ekstern mappe

som du sandsynligvis ved, er rsync meget brugt til at synkronisere filer og mapper over et netværk. I det følgende eksempel vil vi diskutere en tilgang til at tage trinvise pull-sikkerhedskopier af en fjernkatalog med hardlinking for at gemme Historiske data og gemme dem på vores lokale filserver. Denne tilgang hjælper os med at spare plads og øge sikkerheden på serversiden.

Trin 1: Skriv et brugerdefineret script i mappen /etc/backup.d med følgende indhold og chmoddet til 600. Bemærk, at denne mappe kan indeholde, udover almindelige konfigurationsfiler, scripts, som du vil køre, når Backupninja udføres, med fordelen ved at bruge variabler, der findes i hovedkonfigurationsfilen.

# 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

i ovenstående konfiguration er --link-dest mulighed for rsync brug til hardlink uændrede filer (i alle attributter) fra $localdir-oldtil destinationsmappen ($localdir).

Trin 2: før Backupninja køres for første gang, er den overordnede mappe (/home/gacanepa i dette tilfælde) tom. Første gang vi udfører:

# backupninja -n

mappen backup.0oprettes, og senere i processen ændres navnet til backup.1.

anden gang vi kører Backupninja, backup.0 genskabes og backup.1 holdes.

Trin 3: Kontroller, at indholdet af backup.1 er hårde links til filerne i backup.0 ved at sammenligne de respektive inode-numre og katalogstørrelser.

konklusion

Backupninja er ikke kun et klassisk backupværktøj, men også et let at konfigurere værktøj. Du kan skrive dine egne handlere til at køre Backupninja i henhold til de individuelle konfigurationsfiler, der findes i /etc/backup.d, og du kan endda skrive hjælpere til ninjahelper for at inkludere dem i hovedgrænsefladen.

hvis du for eksempel opretter en handler med navnet xmodulo i /usr/share/backupninja, kører den som standard hver fil med .xmodulo – udvidelsen i /etc/backup.d. Hvis du beslutter dig for at tilføje din xmodulo handler til ninjahelper, kan du skrive den tilsvarende hjælper som xmodulo.helper. Hvis du desuden vil have Backupninja til at køre et vilkårligt script, skal du blot tilføje det til /etc/backup.d, og du er god til at gå. Se denne Backupninja tutorial for detaljer om oprettelse af en brugerdefineret backup plan.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.