Oprettelse af inkrementelle og krypterede sikkerhedskopier med dobbelthed

Oversigt

Mens Vultr har et backup-system til hele systembilleder, fungerer dette på blokniveau og kræver, at sikkerhedskopien gendannes til en VM, før dataene kan gendannes. Derudover gemmes sikkerhedskopier kun i kort tid og giver ikke en ægte inkrementel backup-løsning.

Enter Duplicity - Duplicity bygger på den legendariske rsync og giver mulighed for at gemme trinvise sikkerhedskopier sammen med kryptering af data i hvile via GPG. Den er Posix-kompatibel og overfører kun deltaer mellem backup-kørsler, hvilket reducerer det samlede båndbreddekrav.

Opsætning af miljø

Terminologi

  • Kildevært - Server, som vil have sine data sikkerhedskopieret. Til denne øvelse har den IP-adressen: 10.1.10.1
  • Backup vært - Destinationsserver for sikkerhedskopier. Til denne øvelse har den IP-adressen: 10.1.10.2
  • /backupdir - Kildemappe på kildeværten, der bruges til sikkerhedskopier i denne øvelse. Du kan ændre dette, så det passer til dit miljø.
  • /destdir - Destinationsmappe på backup-vært, der bruges til backups i denne vejledning. Du kan ændre dette, så det passer til dit miljø.
  • Fuld backup - Hele kopien af ​​kildedatasættet.
  • Inkrementel backup - Kopi af alle ændringer, der er foretaget siden sidste backup.

Installation af Duplicity

Ubuntu 14.04:
sudo apt-get update
sudo apt-get install duplicity python-paramiko
CentOS (kræver EPEL):
sudo yum install duplicity python-paramiko
Ubuntu 12.04/Debian 7:
sudo apt-get update 
sudo apt-get install ncftp python-paramiko python-pycryptopp lftp python-boto python-dev librsync-dev
wget https://launchpad.net/duplicity/0.7-series/0.7.02/+download/duplicity-0.7.02.tar.gz
tar xzvf duplicity*
cd duplicity*
sudo python setup.py install

Vi er nødt til at installere fra kilden, da Duplicity-pakken i Debian 7 og Ubuntu 12.04 er ødelagt på grund af en ændring i backend-SSH-biblioteket.

Dobbelttjek, at Duplicity er installeret ved at køre:

duplicity -v

Det skulle returnere følgende output (versionen kan være anderledes):

duplicity 0.6.18

Opsætning af nøglefri godkendelse til SSH

Det næste trin er at opsætte certifikatbaseret godkendelse for SSH mellem backup-værten og kildeværten. Dette vil gøre det muligt for kildeserveren at SSH ind i backup-værten uden at indtaste en adgangssætning. Vultr har en fantastisk artikel, som forklarer, hvordan man gør dette: Hvordan genererer jeg SSH-nøgler .

Sikkerhedskopier

Kører den første (fulde) backup

Lad os køre en fuld backup! Dette vil sende en fuld kopi af data fra kildeserveren til destinationen.

duplicity full -v --no-encryption --include="/sourcedir/" --exclude="**" /  ssh://user@backupserver:22/destdir/

Du kan tilføje yderligere mapper ved at inkludere flere --include="[dir]"udsagn.

Den --no-encryptionangiver, at dataene ikke skal krypteres på destinationen. Data vil blive krypteret under transporten, når de passerer gennem SSH-tunnelen.

Den --exclude="**" /mulighed er et trick til backup alt, hvad der er kun i den omfatter listen (og intet andet).

Kører inkrementel backup

At køre en trinvis sikkerhedskopiering er meget simpelt - bare skift fullflaget til incrementalflaget.

duplicity incremental -v --no-encryption --include="/sourcedir/" --exclude="**" /  ssh://user@backupserver:22/destdir/

Automatisering

Skriv automatiserede scripts

At skulle køre disse kommandoer hver gang du har brug for en backup er et træk - hvad nu hvis vi havde scripts til at håndtere det for os?

Fuld backup script

Kør kommandoen.

nano /usr/local/bin/backup-full

Tilføj følgende indhold.

#!/bin/bash
duplicity full -v --no-encryption --include="/sourcedir/" --exclude="**" /  ssh://user@backupserver:22/destdir/
Inkrementelt backup script
nano /usr/local/bin/backup-incremental

Tilføj følgende indhold.

#!/bin/bash
duplicity incremental -v --no-encryption --include="/sourcedir/" --exclude="**" /  ssh://user@backupserver:22/destdir/
Gør scripts eksekverbare

For at gøre scripts eksekverbare skal du køre følgende kommando.

chmod +x /usr/local/bin/backup-*

Nu kan du udføre en sikkerhedskopiering ved at køre backup-fullog backup-incrementalinde fra skallen. Ret sejt!

Opsætning af cron

Lad os gøre sikkerhedskopierne automatiske! Ved at konfigurere cron til at køre ovenstående scripts på bestemte tidspunkter, kan vi sikre, at sikkerhedskopier udføres med jævne mellemrum.

Kør følgende kommando.

crontab -e

Tilføj følgende til bunden af ​​filen.

10 01 * * 1,2,3,4,5,6 backup-incremental
10 01 * * 7 backup-full

Dette vil køre en fuld sikkerhedskopiering hver søndag kl. 01:10 og vil også køre trinvise sikkerhedskopier hver anden dag kl. 01:10.

Restaurering

Godzilla har ødelagt Seattle, og vi skal være i stand til at få dataene tilbage fra backup-VPS'en i New York!

duplicity --no-encryption --file-to-restore / ssh://user@backupserver:22/destdir/

Hvis vi skal gendanne data fra 3 dage siden:

duplicity --no-encryption -t 3D --file-to-restore / ssh://user@backupserver:22/destdir/

De -t 3Dmulighed betyder gendanne en sikkerhedskopi fra tre dage siden. Lignende muligheder som -t 1M(for en måned siden) eller -t 5H(for 5 timer siden) virker også.

Efterlad en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.

DDOS-angreb: et kort overblik

DDOS-angreb: et kort overblik

Er du også et offer for DDOS-angreb og forvirret over forebyggelsesmetoderne? Læs denne artikel for at løse dine spørgsmål.

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Du har måske hørt, at hackere tjener mange penge, men har du nogensinde spekuleret på, hvordan tjener de den slags penge? lad os diskutere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Vil du se revolutionerende opfindelser fra Google, og hvordan disse opfindelser ændrede livet for ethvert menneske i dag? Læs derefter til bloggen for at se opfindelser fra Google.

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Konceptet med selvkørende biler til at køre på vejene ved hjælp af kunstig intelligens er en drøm, vi har haft i et stykke tid nu. Men på trods af flere løfter er de ingen steder at se. Læs denne blog for at lære mere...

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Efterhånden som videnskaben udvikler sig i et hurtigt tempo og overtager en stor del af vores indsats, stiger risikoen for at udsætte os selv for en uforklarlig Singularitet. Læs, hvad singularitet kunne betyde for os.

Funktioner af Big Data Reference Architecture Layers

Funktioner af Big Data Reference Architecture Layers

Læs bloggen for at kende forskellige lag i Big Data-arkitekturen og deres funktionaliteter på den enkleste måde.

Udvikling af datalagring – Infografik

Udvikling af datalagring – Infografik

Opbevaringsmetoderne for dataene har været under udvikling, kan være siden fødslen af ​​dataene. Denne blog dækker udviklingen af ​​datalagring på basis af en infografik.

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

I denne digitalt drevne verden er smarte hjemmeenheder blevet en afgørende del af livet. Her er et par fantastiske fordele ved smarte hjemmeenheder om, hvordan de gør vores liv værd at leve og enklere.

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

For nylig udgav Apple macOS Catalina 10.15.4 en supplerende opdatering for at løse problemer, men det ser ud til, at opdateringen forårsager flere problemer, hvilket fører til mursten af ​​mac-maskiner. Læs denne artikel for at lære mere