mars 6, 2022

Så här säkerhetskopierar du ett Debiansystem med Backupninja

Senast uppdaterad den 19 September 2020 av Gabriel C Jacobnepa

försiktighet eller erfarenhet av katastrof kan lära varje sysadmin vikten av att ta frekventa systembackups. Du kan göra det genom att skriva bra gamla skalskript eller använda ett (eller flera) av de många backupverktygen som finns tillgängliga för jobbet (t.ex. Clonezilla, dubbelspel). Ju fler verktyg du blir bekant med, desto bättre informerade beslut kommer du att fatta när du implementerar en säkerhetskopieringslösning.

i den här artikeln presenterar vi Backupninja, ett lätt och enkelt att konfigurera systembackupverktyg. Med hjälp av program som rdiff-backup, duplicity, mysqlhotcopy och mysqldump erbjuder Backupninja vanliga säkerhetskopieringsfunktioner som fjärr -, säkra och inkrementella säkerhetskopieringar av filsystem, krypterad säkerhetskopiering och MySQL/MariaDB-databasbackup. Du kan selektivt aktivera status e-rapporter, och kan säkerhetskopiera allmän hårdvara och systeminformation samt. En viktig styrka i Backupninja är en inbyggd konsolbaserad guide (kallad ninjahelper) som gör att du enkelt kan skapa konfigurationsfiler för olika säkerhetskopieringsscenarier.

nackdelen är så att säga att Backupninja kräver att andra hjälpprogram installeras för att dra full nytta av alla dess funktioner. Medan Backupninjas RPM-paket är tillgängligt för Red Hat-baserade distributioner, är Backupninjas beroenden optimerade för Debian och dess derivat. Därför rekommenderas det inte att prova Backupninja för Red Hat-baserade system.

i denna handledning kommer vi att täcka Backupninja-installationen för Debian-baserade distributioner.

installera Backupninja

kör följande kommando som root:

# aptitude install backupninja

under installationen skapas flera filer och kataloger:

  • /usr/sbin/backupninja är Huvud bash skalskript.
  • /etc/cron.d/backupninja, som standard instruerar cron att köra huvudskriptet en gång i timmen.
  • /etc/logrotate.d/backupninja roterar loggarna som skapats av programmet.
  • /etc/backup.d/ är katalogen där konfigurationsfilerna för säkerhetskopieringsåtgärder finns.
  • /etc/backupninja.conf är den huvudsakliga konfigurationsfilen som innehåller Allmänna alternativ. Det är väl kommenterat och förklarar varje alternativ i detalj.
  • /usr/share/backupninja är katalogen där Skript som används av Backupninja finns (aka hanterare). Dessa är de skript som ansvarar för att göra det faktiska arbetet. I den här katalogen hittar du också .helper filer, som används för att konfigurera och konfigurera ninjahelper menyer.
  • /usr/share/doc/backupninja/examples innehåller mallar för åtgärdskonfigurationsfiler (den typ av filer som skapas via ninjahelper).

kör ninjahelper för första gången

när vi försöker starta ninjahelper kan vi se att ett internt beroende kan krävas. Om du blir ombedd anger du yes och trycker på ENTER för att installera dialog (ett verktyg som visar användarvänliga dialogrutor från skalskript).

när du trycker på Enter efter att du har skrivit ja, kommer Backupninja att installera dialogrutan och presentera följande skärm när den är klar.

exempel 1: Säkerhetskopiera maskinvara och systeminformation

efter lanseringen ninjahelper skapar vi en ny säkerhetskopieringsåtgärd:

om nödvändiga hjälpprogram inte är installerade kommer vi att presenteras med följande skärmar. Bortse från detta steg om dessa paket redan har installerats på ditt system.

nästa steg består av att välja de objekt som du vill vara en del av denna säkerhetskopia. De fyra första är markerade som standard, men du kan avmarkera dem genom att trycka på mellanslagstangenten.

när du är klar trycker du på OK för att fortsätta. Du kan välja om du vill använda standardkonfigurationsfilen för den här säkerhetskopieringsåtgärden (/etc/backup.d/10.sys) eller om du vill skapa en ny. I det senare fallet kommer en ny fil med samma innehåll som standard att skapas under samma katalog men heter 11.sys, och så vidare för framtida systembackupåtgärder. Observera att du kan redigera konfigurationsfilen när den har skapats med din önskade textredigerare.

exempel 2: Inkrementell Rsync Pull Backup av en fjärrkatalog

som du troligen vet, rsync används ofta för att synkronisera filer och mappar över ett nätverk. I följande exempel kommer vi att diskutera en metod för att ta inkrementella pull säkerhetskopior av en fjärrkatalog med hardlinking för att spara historiska data och lagra dem i vår lokala filserver. Detta tillvägagångssätt hjälper oss att spara utrymme och öka säkerheten på serversidan.

Steg 1: Skriv ett anpassat skript i katalogen /etc/backup.d med följande innehåll och chmod till 600. Observera att den här katalogen kan innehålla, förutom vanliga konfigurationsfiler, skript som du vill köra när Backupninja körs, med fördelen att använda variabler som finns i huvudkonfigurationsfilen.

# 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 ovanstående konfiguration används alternativet --link-dest för rsync för att hårdlänka oförändrade filer (i alla attribut) från $localdir-oldtill destinationskatalogen ($localdir).

steg 2: innan Backupninja körs för första gången är den överordnade katalogen (/home/gacanepa i detta fall) tom. Första gången vi utför:

# backupninja -n

katalogen backup.0 skapas, och senare i processen ändras dess namn till backup.1.

andra gången vi kör Backupninja, backup.0 återskapas och backup.1 hålls.

steg 3: Kontrollera att innehållet i backup.1 är hårda länkar till filerna i backup.0 genom att jämföra respektive inodnummer och katalogstorlekar.

slutsats

Backupninja är inte bara ett klassiskt backupverktyg utan också ett lättanvänt verktyg. Du kan skriva dina egna Hanterare för att köra Backupninja enligt de enskilda konfigurationsfilerna i /etc/backup.d, och du kan även skriva hjälpare för ninjahelper för att inkludera dem i huvudgränssnittet.

om du till exempel skapar en hanterare med namnet xmodulo i /usr/share/backupninja, körs den som standard varje fil med tillägget .xmodulo i /etc/backup.d. Om du bestämmer dig för att lägga till din xmodulo hanterare till ninjahelper kan du skriva motsvarande hjälpare som xmodulo.helper. Dessutom, om du vill att Backupninja ska köra ett godtyckligt skript, lägg bara till det till /etc/backup.d och du är bra att gå. Se Denna Backupninja handledning för mer information om hur du skapar en anpassad backup plan.

Lämna ett svar

Din e-postadress kommer inte publiceras.