Duplicity - Paghimo Encrypted Incremental Backups sa Linux


Gipakita sa kasinatian nga dili gyud ka mahimong paranoid bahin sa mga backup sa sistema. Kung bahin sa pagpanalipod ug pagpreserbar sa bililhon nga datos, labing maayo nga mopadayon sa dugang nga milya ug siguruha nga makasalig ka sa imong mga backup kung adunay kinahanglan.

Bisan karon, kung ang pipila ka estratehiya sa pag-backup gamit ang imong kaugalingon nga mga himan aron makatipig pila ka salapi ug unya tingali gamiton kini aron makapalit dugang nga pagtipig o makakuha usa ka labi ka dako nga VPS.

[ Tingali ganahan ka usab: 25 Talagsaon nga Backup Utilities alang sa Linux Systems ]

Morag makaiikag? Niini nga artikulo, ipakita namo kanimo kung unsaon paggamit ang usa ka himan nga gitawag og Duplicity sa pag-backup ug pag-encrypt sa mga file ug mga direktoryo. Dugang pa, ang paggamit sa incremental backups alang niini nga buluhaton makatabang kanato sa pagdaginot sa luna.

Ingon niana, magsugod na ta.

Pag-instalar sa Duplicity Backup Tool sa Linux

Aron ma-install ang pagkadoble sa mga distro nga nakabase sa RHEL, kinahanglan nimo nga himuon una ang repositoryo sa EPEL (mahimo nimong laktawan kini nga lakang kung gigamit nimo mismo ang Fedora):

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

Unya dagan,

# yum install duplicity

Para sa Debian ug derivatives:

$ sudo apt update 
$ sudo apt install duplicity

Sa teorya, daghang mga pamaagi sa pagkonektar sa usa ka file server ang gisuportahan bisan kung ang ftp, HSI, WebDAV, ug Amazon S3 ra ang nasulayan sa praktis hangtod karon.

Kung makompleto na ang pag-install, eksklusibo namong gamiton ang sftp sa lainlaing mga senaryo, aron i-back up ug ibalik ang datos.

Ang among palibot sa pagsulay naglangkob sa usa ka kahon sa RHEL 8 (aron i-back up) ug usa ka makina nga Debian 11 (backup server).

Paghimo sa SSH Keys alang sa Passwordless Login sa Remote Server

Magsugod kita pinaagi sa paghimo sa mga yawe sa SSH sa among kahon sa RHEL ug ibalhin kini sa Debian backup server.

Kung nagdagan ka sa SSH sa usa ka lahi nga pantalan, nan ang mando sa ubos nagdahum nga ang sshd daemon naminaw sa port XXXXX sa Debian server. Ilisan ang AAA.BBB.CCC.DDD sa aktuwal nga IP sa remote server.

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

Dayon kinahanglan nimong sigurohon nga makakonektar ka sa backup nga server nga dili mogamit og password:

# ssh [email 

Karon kinahanglan namong maghimo sa mga yawe sa GPG nga gamiton alang sa pag-encrypt ug pag-decryption sa among datos:

# gpg2 --full-gen-key

Maaghat ka sa pagsulod:

  • Matang sa yawe
  • Gidak-on sa yawe
  • Unsa kadugay kinahanglan balido ang yawe
  • Usa ka passphrase

Aron mahimo ang entropy nga gikinahanglan alang sa paghimo sa mga yawe, mahimo kang mag-log on sa server pinaagi sa lain nga terminal window ug maghimo og pipila ka mga buluhaton o magpadagan og pipila ka mga sugo aron makamugna og entropy (kon dili, kinahanglan ka maghulat og dugay alang niini nga bahin sa ang proseso aron mahuman).

Kung nahimo na ang mga yawe, mahimo nimong ilista sila ingon sa mosunod:

# gpg --list-keys

Ang string nga gi-highlight sa yellow sa ibabaw nailhan nga public key ID, ug usa ka gihangyo nga argumento aron ma-encrypt ang imong mga file.

Paghimo og Linux Backup nga adunay Duplicity

Sa pagsugod nga simple, i-backup lang nato ang /var/log directory, gawas sa /var/log/anaconda ug /var/log/sa.

Tungod kay kini ang among una nga backup, kini mahimong usa ka bug-os. Ang sunod-sunod nga mga dagan maghimo og incremental backups (gawas kon atong idugang ang bug-os nga opsyon nga walay dash sunod sa duplicity sa command sa ubos):

# 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://[email :XXXXX//backups/rhel8

Siguroha nga dili nimo masipyat ang double slash sa sugo sa ibabaw! Gigamit kini aron ipakita ang usa ka hingpit nga agianan sa usa ka direktoryo nga ginganlag /backups/rhel8 sa backup nga kahon ug diin ang mga backup file itago.

Ilisan ang YourPassphraseHere, YourPublicKeyIdHere, ug RemoteServer sa passphrase nga imong gisulod sa sayo pa, ang GPG public key ID, ug sa IP o hostname sa backup server, matag usa.

Ang imong output kinahanglan nga susama sa mosunod nga hulagway:

Ang hulagway sa ibabaw nagpakita nga ang kinatibuk-an nga 86.3 MB gi-back up ngadto sa 3.22 MB sa destinasyon. Mobalhin ta sa backup server aron masusi ang bag-ong nabuhat namong backup:

Ang ikaduha nga pagdagan sa parehas nga mando naghatag usa ka labi ka gamay nga gidak-on sa backup ug oras:

Pag-uli sa Linux Backup gamit ang Duplicity

Aron malampuson nga mapasig-uli ang usa ka file, usa ka direktoryo nga adunay mga sulod niini, o ang tibuok nga backup, ang destinasyon kinahanglan nga wala maglungtad (ang pagkadoble dili mo-overwrite sa usa ka kasamtangan nga file o direktoryo). Aron maklaro, atong tangtangon ang cron log sa CentOS box:

# rm -f /var/log/cron

Ang syntax aron ibalik ang usa ka file gikan sa hilit nga server mao ang:

# PASSPHRASE="YourPassphraseHere" duplicity --file-to-restore filename sftp://[email //backups/rhel8 /where/to/restore/filename

diin,

  • filename mao ang file nga kuhaon, nga adunay relatibong agianan ngadto sa direktoryo nga gi-back up
  • /where/to/restore mao ang direktoryo sa lokal nga sistema diin gusto namong ibalik ang file.

Sa among kaso, aron mabalik ang cron main log gikan sa hilit nga backup kinahanglan namon nga modagan:

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

Ang cron log kinahanglan nga ibalik sa gusto nga destinasyon.

Ingon usab, ayaw pagduhaduha sa pagtangtang sa usa ka direktoryo gikan sa/var/log ug ibalik kini gamit ang backup:

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

Niini nga pananglitan, ang direktoryo sa mail kinahanglang ibalik sa orihinal nga lokasyon niini uban sa tanang sulod niini.

Ang ubang mga bahin sa Duplicity

Bisan unsang orasa mahimo nimong ipakita ang lista sa mga naka-archive nga file gamit ang mosunud nga mando:

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

I-delete ang mga backup nga mas tigulang kay sa 6 ka bulan:

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

Ibalik ang myfile sa sulod sa direktoryo nga gacanepa sama sa 2 ka adlaw ug 12 ka oras ang milabay:

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

Sa kataposang sugo, atong makita ang usa ka pananglitan sa paggamit sa agwat sa oras (sama sa gipiho sa -t): usa ka serye sa mga pares diin ang matag usa naglangkob sa usa ka numero nga gisundan sa usa sa mga karakter s, m, h, D, W, M, o Y (nagpaila sa mga segundo, minuto, oras, adlaw, semana, bulan, o tuig).

Summary

Sa kini nga artikulo, among gipasabut kung giunsa ang paggamit sa Duplicity, usa ka backup nga utility nga naghatag pag-encrypt sa mga file ug direktoryo nga wala sa kahon. Girekomenda ko nga imong tan-awon ang website sa duplicity nga proyekto alang sa dugang nga dokumentasyon ug mga pananglitan.

Naghatag kami usa ka panid sa tawo nga doble sa format nga PDF alang sa imong kasayon sa pagbasa, usa usab ka kompleto nga giya sa pakisayran.

Palihug ipahibalo kanamo kung naa kay pangutana o komento.