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 instruerarcron
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 konfigureraninjahelper
menyer. -
/usr/share/doc/backupninja/examples
innehåller mallar för åtgärdskonfigurationsfiler (den typ av filer som skapas vianinjahelper
).
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-old
till 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.