Crearea de copii de rezervă incrementale și criptate cu duplicitate

Prezentare generală

În timp ce Vultr are un sistem de rezervă pentru imagini de sistem întreg, acesta funcționează la nivel de bloc și necesită ca backup-ul să fie restaurat la o VM înainte ca datele să poată fi restaurate. În plus, copiile de rezervă sunt stocate doar pentru o perioadă scurtă de timp și nu oferă o adevărată soluție de rezervă incrementală.

Enter Duplicity - Duplicity se bazează pe legendarul rsync și oferă posibilitatea de a stoca copii de rezervă incrementale împreună cu criptarea datelor în repaus prin GPG. Este compatibil Posix și transferă numai delte între rulările de rezervă, reducând astfel cerința generală de lățime de bandă.

Configurarea mediului

Terminologie

  • Sursă gazdă - server care va avea datele sale de rezervă. Pentru acest tutorial, are adresa IP: 10.1.10.1
  • Gazdă de rezervă - Server destinație pentru copii de rezervă. Pentru acest tutorial, are adresa IP: 10.1.10.2
  • / backupdir - Directorul sursă pe gazda sursă utilizat pentru backup-urile din acest tutorial. Puteți schimba acest lucru pentru a se potrivi mediului dvs.
  • / destdir - Directorul destinație de pe gazda de rezervă utilizat pentru backup-urile din acest tutorial. Puteți schimba acest lucru pentru a se potrivi mediului dvs.
  • Copie de rezervă completă - Copie completă a setului de date sursă.
  • Backup incremental - Copiere a tuturor modificărilor făcute de la ultima copie de rezervă.

Instalarea Duplicității

Ubuntu 14.04:
sudo apt-get update
sudo apt-get install duplicity python-paramiko
CentOS (necesită 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

Trebuie să instalăm din sursă, deoarece pachetul Duplicity din Debian 7 și Ubuntu 12.04 sunt rupte din cauza unei modificări a bibliotecii SSH backend.

Verificați dublu dacă Duplicity este instalat rulând:

duplicity -v

Ar trebui să returneze următoarea ieșire (versiunea poate fi diferită):

duplicity 0.6.18

Configurarea autentificării fără cheie pentru SSH

Următorul pas este configurarea autentificării bazate pe certificate pentru SSH între gazda de rezervă și gazda sursă. Acest lucru va permite serverului sursă să SSH în gazda de rezervă fără să introduceți o parolă. Vultr are un articol minunat care explică cum se face acest lucru: Cum generez cheile SSH .

Copiile de rezervă

Se execută prima copie de rezervă (completă)

Hai să rulăm o copie de rezervă completă! Aceasta va trimite o copie completă a datelor de la serverul sursă la destinație.

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

Puteți adăuga foldere suplimentare prin includerea mai multor --include="[dir]"instrucțiuni.

Cele mai --no-encryptionprecizează că datele nu urmează să fie criptate la destinație. Datele vor fi criptate în timpul transportului pe măsură ce trec prin tunelul SSH.

--exclude="**" /Opțiunea este un truc pentru tot ceea ce de rezervă , care este numai în lista (și nimic altceva) includ.

Se execută o copie de rezervă incrementală

Rularea un backup incremental este foarte simplu - doar schimba fullsteagul la incrementalpavilion.

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

Automatizare

Scrieți scripturi automate

Trebuie să executați aceste comenzi de fiecare dată când aveți nevoie de o copie de rezervă este o tracțiune - ce se întâmplă dacă am avea scripturi care să le gestioneze pentru noi?

Script de rezervă complet

Rulați comanda.

nano /usr/local/bin/backup-full

Adăugați următorul conținut.

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

Adăugați următorul conținut.

#!/bin/bash
duplicity incremental -v --no-encryption --include="/sourcedir/" --exclude="**" /  ssh://user@backupserver:22/destdir/
Faceți scripturile executabile

Pentru a face executarea scripturilor, executați următoarea comandă.

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

Acum puteți efectua o copie de rezervă rulând backup-fullși backup-incrementaldin interiorul shell-ului. Destul de la moda!

Configurare cron

Să facem backup-urile automate! Prin setarea cron pentru a rula scripturile de mai sus la orele specificate, ne putem asigura că backup-urile sunt efectuate la intervale regulate.

Executați următoarea comandă.

crontab -e

Adăugați următoarele în partea de jos a fișierului.

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

Aceasta va rula o copie de rezervă completă în fiecare duminică la 1:10 AM și va rula și copii de rezervă incrementale în fiecare altă zi la 1:10 AM.

Restaurare

Godzilla a distrus Seattle și trebuie să putem recupera datele din VPS-ul de rezervă din New York!

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

Dacă trebuie să restaurăm datele de acum 3 zile:

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

Cele -t 3DMijloacele de restaurare opțiune o copie de rezervă de trei zile în urmă. Opțiuni similare ca -t 1M(de acum o lună) sau -t 5H(de acum 5 ore) funcționează și ele.

Lasă un comentariu

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.

6 lucruri extrem de nebunești despre Nintendo Switch

6 lucruri extrem de nebunești despre Nintendo Switch

Mulți dintre voi cunoașteți Switch care va fi lansat în martie 2017 și noile sale funcții. Pentru cei care nu știu, am pregătit o listă de funcții care fac din „Switch” un „gadget obligatoriu”.

Promisiuni tehnologice care sunt încă nelivrate

Promisiuni tehnologice care sunt încă nelivrate

Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Citiți asta pentru a afla cum devine populară inteligența artificială în rândul companiilor la scară mică și cum crește probabilitățile de a le face să crească și de a le oferi concurenților avantaje.

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Pe măsură ce Știința Evoluează într-un ritm rapid, preluând multe dintre eforturile noastre, crește și riscurile de a ne supune unei Singularități inexplicabile. Citiți, ce ar putea însemna singularitatea pentru noi.

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA a devenit destul de dificil de rezolvat pentru utilizatori în ultimii ani. Va fi capabil să rămână eficient în detectarea spam-ului și a botului în viitor?

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Ce este telemedicina, îngrijirea medicală la distanță și impactul acesteia asupra generației viitoare? Este un loc bun sau nu în situația de pandemie? Citiți blogul pentru a găsi o vedere!

Te-ai întrebat vreodată cum câștigă hackerii bani?

Te-ai întrebat vreodată cum câștigă hackerii bani?

Poate ați auzit că hackerii câștigă mulți bani, dar v-ați întrebat vreodată cum câștigă acești bani? sa discutam.

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Recent, Apple a lansat macOS Catalina 10.15.4 o actualizare suplimentară pentru a remedia problemele, dar se pare că actualizarea provoacă mai multe probleme care duc la blocarea mașinilor Mac. Citiți acest articol pentru a afla mai multe