Kaksinaisuus – Luo salattuja lisävarmuuskopioita Linuxissa


Kokemus osoittaa, että et voi koskaan olla liian vainoharhainen järjestelmän varmuuskopioiden suhteen. Kun on kyse arvokkaiden tietojen suojaamisesta ja säilyttämisestä, on parasta tehdä ylimääräinen kilometri ja varmistaa, että voit tarvittaessa luottaa varmuuskopioihisi.

Vielä nykyäänkin, kun jotkin pilvi- ja isännöintipalveluntarjoajat tarjoavat automaattisia varmuuskopioita VPS:ille suhteellisen alhaisin kustannuksin, sinun kannattaa luoda oma varmuuskopiointistrategiasi omilla työkaluillaan säästääksesi rahaa ja sitten käyttää sitä lisätallennustilan ostamiseen tai hanki isompi VPS.

Kuulostaa mielenkiintoiselta? Tässä artikkelissa näytämme, kuinka voit käyttää Duplicity-nimistä työkalua tiedostojen ja hakemistojen varmuuskopiointiin ja salaamiseen. Lisäksi inkrementaalisten varmuuskopioiden käyttäminen tähän tehtävään auttaa meitä säästämään tilaa.

Se sanoi, aloitetaan.

Duplicity Backup Toolin asentaminen Linuxiin

Kaksinkertaisuuden asentamiseksi RHEL-pohjaisiin distroihin sinun on ensin otettava EPEL-arkisto käyttöön (voit jättää tämän vaiheen pois, jos käytät itse Fedoraa):

yum update 
yum install epel-release
OR
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

Sitten juokse,

yum install duplicity

Debianille ja johdannaisille:

sudo apt update 
sudo apt install duplicity

Teoriassa monia menetelmiä muodostaa yhteys tiedostopalvelimeen tuetaan, vaikka käytännössä vain ssh/scp/sftp, paikallinen tiedostopääsy, rsync, ftp, HSI, WebDAV ja Amazon S3 on testattu käytännössä.

Kun asennus on valmis, käytämme vain sftp:tä eri tilanteissa sekä tietojen varmuuskopiointiin että palauttamiseen.

Testiympäristömme koostuu RHEL 8 -laatikosta (varmuuskopioitava) ja Debian 11 -koneesta (varmuuskopiopalvelin).

SSH-avaimien luominen salasanattomaan kirjautumiseen etäpalvelimeen

Aloitetaan luomalla SSH-avaimet RHEL-laatikkoomme ja siirtämällä ne Debianin-varmuuskopiopalvelimelle.

Jos käytät SSH:ta toisessa portissa, alla oleva komento olettaa, että sshd-daemon kuuntelee Debian-palvelimen porttia XXXXX. Korvaa AAA.BBB.CCC.DDD etäpalvelimen todellisella IP-osoitteella.

ssh-keygen -t rsa
ssh-copy-id [email 
ssh-copy-id -p XXXXX [email   

Sitten sinun tulee varmistaa, että voit muodostaa yhteyden varmuuskopiopalvelimeen ilman salasanaa:

ssh [email 

Nyt meidän on luotava GPG-avaimet, joita käytetään tietojemme salaukseen ja salauksen purkamiseen:

gpg2 --full-gen-key

Sinua pyydetään syöttämään:

  • Sellainen avain
  • Avaimen koko
  • Kuinka kauan avaimen tulee olla voimassa
  • Tunnuslause

Voit luoda avainten luomiseen tarvittavan entropian kirjautumalla palvelimelle toisen pääteikkunan kautta ja suorittamalla muutaman tehtävän tai suorittamalla joitain komentoja entropian luomiseksi (muuten joudut odottamaan pitkään tätä osaa prosessi loppuun asti).

Kun avaimet on luotu, voit listata ne seuraavasti:

gpg --list-keys

Yllä keltaisella korostettu merkkijono tunnetaan julkisen avaimen tunnuksena, ja se on pyydetty argumentti tiedostojesi salaamiseen.

Linux-varmuuskopion luominen Duplicityllä

Aloita yksinkertaisella tavalla varmuuskopioimalla vain /var/log-hakemisto, paitsi /var/log/anaconda ja /var/log/sa.

Koska tämä on ensimmäinen varmuuskopiomme, se on täysi. Myöhemmät ajot luovat lisävarmuuskopioita (ellemme lisää täydellistä vaihtoehtoa ilman välilyöntejä aivan kaksoiskohteen viereen alla olevassa komennossa):

PASSPHRASE="tecmint" duplicity --encrypt-key 115B4BB13BC768B8B2704E5663C429C3DB8BAD3B --exclude /var/log/anaconda --exclude /var/log/sa /var/log scp://[email //backups/rhel8
OR
PASSPHRASE="YourPassphraseHere" duplicity --encrypt-key YourPublicKeyIdHere --exclude /var/log/anaconda --exclude /var/log/sa /var/log scp://root@RemoteServer:XXXXX//backups/rhel8

Varmista, ettet missaa kaksoisviivaa yllä olevassa komennossa! Niitä käytetään osoittamaan absoluuttinen polku hakemistoon nimeltä /backups/rhel8 varmuuskopioruudussa ja on paikka, johon varmuuskopiotiedostot tallennetaan.

Korvaa YourPassphraseHere, YourPublicKeyIdHere, ja RemoteServer aiemmin antamallasi tunnuslauseella, julkisen GPG-avaimen tunnuksella ja varmuuskopion IP-osoitteella tai isäntänimellä. palvelin, vastaavasti.

Tulostuksesi tulee olla seuraavan kuvan kaltainen:

Yllä oleva kuva osoittaa, että yhteensä 86,3 Mt varmuuskopioitiin kohteen 3,22 Mt muistiin. Siirrytään varmuuskopiopalvelimeen tarkistaaksemme äskettäin luodun varmuuskopiomme:

Saman komennon toinen ajo tuottaa paljon pienemmän varmuuskopion koon ja ajan:

Linux-varmuuskopioiden palauttaminen Duplicityn avulla

Tiedoston, hakemiston sisältöineen tai koko varmuuskopion palauttamiseksi onnistuneesti kohdetta ei saa olla olemassa (kaksoisuus ei korvaa olemassa olevaa tiedostoa tai hakemistoa). Selvyyden vuoksi poistetaan cron-loki CentOS-laatikosta:

rm -f /var/log/cron

Syntaksi yksittäisen tiedoston palauttamiseksi etäpalvelimelta on:

PASSPHRASE="YourPassphraseHere" duplicity --file-to-restore filename sftp://root@RemoteHost//backups/rhel8 /where/to/restore/filename

missä,

  • tiedostonimi on purettava tiedosto, jonka suhteellinen polku varmuuskopioituun hakemistoon
  • /where/to/restore on paikallisen järjestelmän hakemisto, johon haluamme palauttaa tiedoston.

Meidän tapauksessamme cron-päälokin palauttamiseksi etävarmuuskopiosta meidän on suoritettava:

PASSPHRASE="YourPassphraseHere" duplicity --file-to-restore cron sftp://[email :XXXXX//backups/rhel8 /var/log/cron

Cron-loki tulee palauttaa haluttuun kohteeseen.

Samoin voit vapaasti poistaa hakemiston hakemistosta /var/log ja palauttaa sen varmuuskopion avulla:

rm -rf /var/log/mail
PASSPHRASE="YourPassphraseHere" duplicity --file-to-restore mail sftp://[email :XXXXX//backups/rhel8 /var/log/mail

Tässä esimerkissä postihakemisto tulee palauttaa alkuperäiseen sijaintiinsa kaikkine sisältöineen.

Muita Duplicityn ominaisuuksia

Voit milloin tahansa näyttää arkistoitujen tiedostojen luettelon seuraavalla komennolla:

duplicity list-current-files sftp://[email :XXXXX//backups/rhel8

Poista yli 6 kuukautta vanhemmat varmuuskopiot:

duplicity remove-older-than 6M sftp://[email :XXXXX//backups/rhel8

Palauta omatiedosto hakemistossa gacanepa sellaisena kuin se oli 2 päivää ja 12 tuntia sitten:

duplicity -t 2D12h --file-to-restore gacanepa/myfile sftp://[email :XXXXX//remotedir/backups /home/gacanepa/myfile

Viimeisessä komennossa voimme nähdä esimerkin aikavälin käytöstä (määritettynä -t): sarja pareja, joissa jokainen koostuu numerosta, jota seuraa yksi merkeistä s, m, t, D, W, M tai Y (ilmaisee sekunteja, minuutteja, tunteja, päiviä, viikkoja, kuukausia tai vuosia).

Yhteenveto

Tässä artikkelissa olemme selittäneet, kuinka voit käyttää Duplicityä, varmuuskopiointiapuohjelmaa, joka tarjoaa tiedostojen ja hakemistojen salauksen heti valmiiksi. Suosittelen, että katsot duplicity-projektin verkkosivustoa saadaksesi lisädokumentaatiota ja esimerkkejä.

Olemme toimittaneet PDF-muodossa kaksinkertaisen man-sivun lukemisen helpottamiseksi, ja se on myös täydellinen viiteopas.

Kerro meille, jos sinulla on kysyttävää tai kommentteja.