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.



Leave a Comment

Cum se instalează Anchor CMS pe un VPS Fedora 26 LAMP

Cum se instalează Anchor CMS pe un VPS Fedora 26 LAMP

Folosind un sistem diferit? Anchor CMS este un motor de blog de sistem de gestionare a conținutului (CMS) super-simplu și extrem de ușor, gratuit și deschis

Configurare partajare NFS pe Debian

Configurare partajare NFS pe Debian

NFS este un sistem de fișiere bazat pe rețea care permite computerelor să acceseze fișiere într-o rețea de calculatoare. Acest ghid explică modul în care puteți expune folderele peste NF

Configurați un server TeamTalk pe Linux

Configurați un server TeamTalk pe Linux

TeamTalk este un sistem de conferințe care permite utilizatorilor să aibă conversații audio / video de înaltă calitate, chat de text, transfer de fișiere și partajare ecrane. Este

Folosind cheia SSH pentru a vă conecta la utilizatori non-root

Folosind cheia SSH pentru a vă conecta la utilizatori non-root

Vultr oferă o caracteristică care vă permite să preinstalați cheile SSH la crearea unei noi instanțe. Acest lucru vă permite să accesați utilizatorul root al serverelor, totuși

Cum se instalează Ranger Terminal File Manager pe Linux

Cum se instalează Ranger Terminal File Manager pe Linux

Ranger este un manager de fișiere bazat pe linia de comandă cu legături de cheie VI. Oferă o interfață de blestem minimalistă și frumoasă, cu o vedere asupra ierarhiei de directoare

Cum se instalează Redmine pe Ubuntu 16.04

Cum se instalează Redmine pe Ubuntu 16.04

Folosind un sistem diferit? Redmine este un instrument gratuit și deschis de gestionare a proiectelor bazat pe web. Este scris în Ruby on Rails și acceptă mai multe baze de date

Instalare RethinkDB Cluster pe CentOS 7

Instalare RethinkDB Cluster pe CentOS 7

Introducere RethinkDB este o bază de date NoSQL care stochează date sub formă de documente JSON. Are un limbaj de interogare super intuitiv și are funcții disponibile în mod obișnuit

Cum se construiește Brotli din sursă pe Ubuntu 18.04 LTS

Cum se construiește Brotli din sursă pe Ubuntu 18.04 LTS

Folosind un sistem diferit? Brotli este o nouă metodă de compresie cu un raport de compresie mai bun decât GZIP. Codul sursă este găzduit public pe acest Githu

Configurarea conturilor de utilizator numai SFTP pe CentOS 7

Configurarea conturilor de utilizator numai SFTP pe CentOS 7

În anumite ocazii, este posibil ca un administrator de sistem să aibă nevoie să creeze un cont de utilizator și să restricționeze accesul acestora la gestionarea propriilor fișiere prin sFTP, dar nu b

Utilizarea vizualizărilor MySQL pe Debian 7

Utilizarea vizualizărilor MySQL pe Debian 7

Introducere MySQL are o caracteristică excelentă cunoscută sub numele de vizualizări. Vizualizările sunt interogări stocate. Gândiți-vă la ele ca la un alias pentru o întrebare altfel lungă. În acest ghid,

Cum se instalează Nginx 1.14 pe Arch Linux

Cum se instalează Nginx 1.14 pe Arch Linux

Cerințe preliminare Un server Vultr care funcționează actualizat Arch Linux (vezi acest articol.) Acces Sudo. Comenzile care trebuie rulate ca root sunt prefixate de #. Th

Dezactivați sau restricționați conectarea rădăcină prin SSH pe Linux

Dezactivați sau restricționați conectarea rădăcină prin SSH pe Linux

Permiterea autentificării root pe SSH este de obicei considerată o practică slabă de securitate în întreaga industrie tehnologică. În schimb, puteți efectua administrativ sensibil

Cum se instalează Seafile Server pe Ubuntu 16.10

Cum se instalează Seafile Server pe Ubuntu 16.10

Folosind un sistem diferit? Seafile (versiunea comunității) este o soluție gratuită și deschisă de sincronizare și partajare a fișierelor, care este similară cu ownCloud. De-a lungul spiritului

Cum să compilați Nginx din sursă pe CentOS 7

Cum să compilați Nginx din sursă pe CentOS 7

Folosind un sistem diferit? NGINX poate fi utilizat ca server HTTP / HTTPS, server proxy invers, server proxy de poștă, echilibrator de sarcină, terminator TLS sau cachin

Cum se instalează Thelia 2.3 pe Debian 9

Cum se instalează Thelia 2.3 pe Debian 9

Folosind un sistem diferit? Thelia este un instrument open source pentru crearea de site-uri web pentru e-business și gestionarea conținutului online scris în PHP. Codul sursă Thelia i

Cum se instalează DokuWiki pe Ubuntu 16.04 LTS

Cum se instalează DokuWiki pe Ubuntu 16.04 LTS

Folosind un sistem diferit? DokuWiki este un program wiki open source scris în PHP care nu necesită o bază de date. Stochează date în fișiere text. DokuWik

Configurarea unui chroot pe Debian

Configurarea unui chroot pe Debian

Acest articol vă va învăța cum să configurați o închisoare chroot pe Debian. Presupun că utilizați Debian 7.x. Dacă executați Debian 6 sau 8, acest lucru poate funcționa, bine

Cum se instalează PiVPN pe Debian

Cum se instalează PiVPN pe Debian

Introducere Un mod ușor de a configura un server VPN pe Debian este cu PiVPN. PiVPN este un instalator și un pachet pentru OpenVPN. Creează comenzi simple pentru tine

Cum se instalează Chamilo 1.11.8 pe CentOS 7

Cum se instalează Chamilo 1.11.8 pe CentOS 7

Folosind un sistem diferit? Chamilo este un sistem gratuit și deschis de management al învățării (LMS), care este utilizat pe scară largă pentru educația online și colaborarea în echipă

Instalați Nginx, Wordpress și permiteți criptarea în minute cu EasyEngine pe Debian 8 sau Ubuntu 16.04

Instalați Nginx, Wordpress și permiteți criptarea în minute cu EasyEngine pe Debian 8 sau Ubuntu 16.04

EasyEngine (ee) este un instrument Python care vă permite să gestionați ușor și automat site-urile Wordpress de pe Nginx. Folosind EasyEngine, nu va trebui să dați

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

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.

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.

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.

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?

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.

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