ഡ്യൂപ്ലസിറ്റി - ലിനക്സിൽ എൻക്രിപ്റ്റഡ് ഇൻക്രിമെന്റൽ ബാക്കപ്പുകൾ സൃഷ്ടിക്കുക


സിസ്റ്റം ബാക്കപ്പുകളെ കുറിച്ച് നിങ്ങൾക്ക് ഒരിക്കലും പരിഭ്രാന്തരാകാൻ കഴിയില്ലെന്ന് അനുഭവം കാണിക്കുന്നു. വിലയേറിയ ഡാറ്റ പരിരക്ഷിക്കുകയും സംരക്ഷിക്കുകയും ചെയ്യുമ്പോൾ, അധിക മൈൽ പോകുകയും ആവശ്യമെങ്കിൽ നിങ്ങളുടെ ബാക്കപ്പുകളെ ആശ്രയിക്കാൻ കഴിയുമെന്ന് ഉറപ്പാക്കുകയും ചെയ്യുന്നതാണ് നല്ലത്.

ഇന്നും, കുറച്ച് പണം ലാഭിക്കുന്നതിനായി നിങ്ങളുടെ സ്വന്തം ടൂളുകൾ ഉപയോഗിക്കുമ്പോൾ ചില ബാക്കപ്പ് തന്ത്രങ്ങൾ ഉപയോഗിക്കുകയും പിന്നീട് അധിക സംഭരണം വാങ്ങുന്നതിനോ അല്ലെങ്കിൽ ഒരു വലിയ VPS നേടുന്നതിനോ അത് ഉപയോഗിച്ചേക്കാം.

[ നിങ്ങൾക്ക് ഇതും ഇഷ്ടപ്പെടാം: ലിനക്സ് സിസ്റ്റങ്ങൾക്കായുള്ള 25 മികച്ച ബാക്കപ്പ് യൂട്ടിലിറ്റികൾ ]

കൊള്ളാം എന്ന് തോന്നുന്നു? ഈ ലേഖനത്തിൽ, ഫയലുകളും ഡയറക്ടറികളും ബാക്കപ്പ് ചെയ്യാനും എൻക്രിപ്റ്റ് ചെയ്യാനും ഡ്യൂപ്ലസിറ്റി എന്ന ഉപകരണം എങ്ങനെ ഉപയോഗിക്കാമെന്ന് ഞങ്ങൾ നിങ്ങളെ കാണിക്കും. കൂടാതെ, ഈ ടാസ്uക്കിനായി ഇൻക്രിമെന്റൽ ബാക്കപ്പുകൾ ഉപയോഗിക്കുന്നത് സ്ഥലം ലാഭിക്കാൻ ഞങ്ങളെ സഹായിക്കും.

നമുക്ക് തുടങ്ങാം എന്ന് പറഞ്ഞു.

ലിനക്സിൽ ഡ്യൂപ്ലസിറ്റി ബാക്കപ്പ് ടൂൾ ഇൻസ്റ്റാൾ ചെയ്യുന്നു

RHEL-അടിസ്ഥാനത്തിലുള്ള വിതരണങ്ങളിൽ ഇരട്ടത്താപ്പ് ഇൻസ്റ്റാൾ ചെയ്യുന്നതിന്, നിങ്ങൾ ആദ്യം EPEL ശേഖരം പ്രവർത്തനക്ഷമമാക്കേണ്ടതുണ്ട് (നിങ്ങൾ ഫെഡോറ തന്നെ ഉപയോഗിക്കുന്നുണ്ടെങ്കിൽ ഈ ഘട്ടം ഒഴിവാക്കാം):

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

എന്നിട്ട് ഓടുക,

# yum install duplicity

ഡെബിയനും ഡെറിവേറ്റീവുകൾക്കും:

$ sudo apt update 
$ sudo apt install duplicity

സിദ്ധാന്തത്തിൽ, ftp, HSI, WebDAV, Amazon S3 എന്നിവ മാത്രമേ ഇതുവരെ പ്രായോഗികമായി പരീക്ഷിച്ചിട്ടുള്ളൂവെങ്കിലും ഒരു ഫയൽ സെർവറിലേക്ക് ബന്ധിപ്പിക്കുന്നതിനുള്ള പല രീതികളും പിന്തുണയ്ക്കുന്നു.

ഇൻസ്റ്റാളേഷൻ പൂർത്തിയായിക്കഴിഞ്ഞാൽ, ഡാറ്റ ബാക്കപ്പ് ചെയ്യുന്നതിനും പുനഃസ്ഥാപിക്കുന്നതിനും ഞങ്ങൾ sftp പ്രത്യേകമായി ഉപയോഗിക്കും.

ഞങ്ങളുടെ ടെസ്റ്റ് പരിതസ്ഥിതിയിൽ ഒരു RHEL 8 ബോക്സും (ബാക്കപ്പ് ചെയ്യേണ്ടത്) ഒരു ഡെബിയൻ 11 മെഷീനും (ബാക്കപ്പ് സെർവർ) അടങ്ങിയിരിക്കുന്നു.

വിദൂര സെർവറിലേക്ക് പാസ്uവേഡ് ഇല്ലാത്ത ലോഗിൻ ചെയ്യുന്നതിനായി SSH കീകൾ സൃഷ്ടിക്കുന്നു

നമ്മുടെ RHEL ബോക്സിൽ SSH കീകൾ സൃഷ്ടിച്ച് ഡെബിയൻ ബാക്കപ്പ് സെർവറിലേക്ക് മാറ്റിക്കൊണ്ട് നമുക്ക് ആരംഭിക്കാം.

നിങ്ങൾ മറ്റൊരു പോർട്ടിലാണ് SSH പ്രവർത്തിപ്പിക്കുന്നതെങ്കിൽ, ഡെബിയൻ സെർവറിലെ XXXX പോർട്ടിൽ sshd ഡെമൺ കേൾക്കുന്നതായി താഴെയുള്ള കമാൻഡ് അനുമാനിക്കുന്നു. റിമോട്ട് സെർവറിന്റെ യഥാർത്ഥ ഐപി ഉപയോഗിച്ച് AAA.BBB.CCC.DDD മാറ്റിസ്ഥാപിക്കുക.

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

പാസ്uവേഡ് ഉപയോഗിക്കാതെ തന്നെ നിങ്ങൾക്ക് ബാക്കപ്പ് സെർവറിലേക്ക് കണക്റ്റുചെയ്യാനാകുമെന്ന് ഉറപ്പാക്കണം:

# ssh [email 

ഇപ്പോൾ നമ്മൾ GPG കീകൾ സൃഷ്ടിക്കേണ്ടതുണ്ട്, അത് ഞങ്ങളുടെ ഡാറ്റയുടെ എൻക്രിപ്ഷനും ഡീക്രിപ്ഷനും ഉപയോഗിക്കുന്നു:

# gpg2 --full-gen-key

പ്രവേശിക്കാൻ നിങ്ങളോട് ആവശ്യപ്പെടും:

  • കൈയുടെ തരം
  • കീ വലുപ്പം
  • കീ എത്രത്തോളം സാധുതയുള്ളതായിരിക്കണം
  • ഒരു പാസ്uഫ്രെയ്uസ്

കീകൾ സൃഷ്ടിക്കുന്നതിന് ആവശ്യമായ എൻട്രോപ്പി സൃഷ്ടിക്കുന്നതിന്, നിങ്ങൾക്ക് മറ്റൊരു ടെർമിനൽ വിൻഡോ വഴി സെർവറിൽ ലോഗിൻ ചെയ്uത് കുറച്ച് ടാസ്uക്കുകൾ ചെയ്യുകയോ എൻട്രോപ്പി ജനറേറ്റുചെയ്യുന്നതിന് ചില കമാൻഡുകൾ പ്രവർത്തിപ്പിക്കുകയോ ചെയ്യാം (അല്ലെങ്കിൽ ഈ ഭാഗത്തിനായി നിങ്ങൾ വളരെക്കാലം കാത്തിരിക്കേണ്ടിവരും. പൂർത്തിയാക്കാനുള്ള പ്രക്രിയ).

കീകൾ ജനറേറ്റുചെയ്uതുകഴിഞ്ഞാൽ, നിങ്ങൾക്ക് അവ ഇനിപ്പറയുന്ന രീതിയിൽ പട്ടികപ്പെടുത്താം:

# gpg --list-keys

മുകളിൽ മഞ്ഞ നിറത്തിൽ ഹൈലൈറ്റ് ചെയ്uതിരിക്കുന്ന സ്uട്രിംഗ് പൊതു കീ ഐഡി എന്നറിയപ്പെടുന്നു, ഇത് നിങ്ങളുടെ ഫയലുകൾ എൻക്രിപ്റ്റ് ചെയ്യാൻ ആവശ്യപ്പെട്ട ആർഗ്യുമെന്റാണ്.

ഡ്യൂപ്ലസിറ്റി ഉപയോഗിച്ച് ഒരു ലിനക്സ് ബാക്കപ്പ് സൃഷ്ടിക്കുന്നു

ലളിതമായി ആരംഭിക്കുന്നതിന്, /var/log/anaconda, /var/log/sa എന്നിവ ഒഴികെയുള്ള /var/log ഡയറക്ടറി മാത്രം ബാക്കപ്പ് ചെയ്യാം.

ഇത് ഞങ്ങളുടെ ആദ്യത്തെ ബാക്കപ്പ് ആയതിനാൽ, ഇത് പൂർണ്ണമായ ഒന്നായിരിക്കും. തുടർന്നുള്ള റണ്ണുകൾ ഇൻക്രിമെന്റൽ ബാക്കപ്പുകൾ സൃഷ്ടിക്കും (ചുവടെയുള്ള കമാൻഡിൽ ഡ്യൂപ്ലിക്കറ്റിക്ക് അടുത്തായി ഡാഷുകളില്ലാതെ പൂർണ്ണ ഓപ്uഷൻ ഞങ്ങൾ ചേർക്കുന്നില്ലെങ്കിൽ):

# 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

മുകളിലുള്ള കമാൻഡിലെ ഇരട്ട സ്ലാഷ് നിങ്ങൾക്ക് നഷ്ടമാകുന്നില്ലെന്ന് ഉറപ്പാക്കുക! ബാക്കപ്പ് ബോക്സിൽ /backups/rhel8 എന്ന പേരിലുള്ള ഒരു ഡയറക്uടറിയിലേക്ക് ഒരു സമ്പൂർണ്ണ പാത്ത് സൂചിപ്പിക്കാൻ അവ ഉപയോഗിക്കുന്നു, കൂടാതെ ബാക്കപ്പ് ഫയലുകൾ സംഭരിക്കപ്പെടുന്നതും ഇവിടെയാണ്.

യഥാക്രമം YourPassphraseHere, YourPublicKeyIdHere, RemoteServer എന്നിവ നിങ്ങൾ നേരത്തെ നൽകിയ പാസ്uഫ്രെയ്uസ്, GPG പബ്ലിക് കീ ഐഡി, ബാക്കപ്പ് സെർവറിന്റെ IP അല്ലെങ്കിൽ ഹോസ്റ്റ് നാമം എന്നിവ ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കുക.

നിങ്ങളുടെ ഔട്ട്uപുട്ട് ഇനിപ്പറയുന്ന ചിത്രത്തിന് സമാനമായിരിക്കണം:

മുകളിലെ ചിത്രം സൂചിപ്പിക്കുന്നത് ലക്ഷ്യസ്ഥാനത്ത് മൊത്തം 86.3 MB 3.22 MB ആയി ബാക്കപ്പ് ചെയ്uതിരിക്കുന്നു എന്നാണ്. പുതുതായി സൃഷ്ടിച്ച ബാക്കപ്പ് പരിശോധിക്കാൻ നമുക്ക് ബാക്കപ്പ് സെർവറിലേക്ക് മാറാം:

അതേ കമാൻഡിന്റെ രണ്ടാമത്തെ റൺ വളരെ ചെറിയ ബാക്കപ്പ് വലുപ്പവും സമയവും നൽകുന്നു:

ഡ്യൂപ്ലസിറ്റി ഉപയോഗിച്ച് Linux ബാക്കപ്പുകൾ പുനഃസ്ഥാപിക്കുന്നു

ഒരു ഫയൽ, അതിലെ ഉള്ളടക്കങ്ങളുള്ള ഒരു ഡയറക്ടറി അല്ലെങ്കിൽ മുഴുവൻ ബാക്കപ്പും വിജയകരമായി പുനഃസ്ഥാപിക്കുന്നതിന്, ലക്ഷ്യസ്ഥാനം നിലവിലില്ല (ഇരട്ടപ്പെടുത്തൽ നിലവിലുള്ള ഫയലോ ഡയറക്ടറിയോ പുനരാലേഖനം ചെയ്യില്ല). വ്യക്തമാക്കുന്നതിന്, CentOS ബോക്സിലെ ക്രോൺ ലോഗ് ഇല്ലാതാക്കാം:

# rm -f /var/log/cron

റിമോട്ട് സെർവറിൽ നിന്ന് ഒരൊറ്റ ഫയൽ പുനഃസ്ഥാപിക്കുന്നതിനുള്ള വാക്യഘടന ഇതാണ്:

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

എവിടെ,

  • ബാക്കപ്പ് ചെയ്uത ഡയറക്uടറിയിലേക്ക് ആപേക്ഷിക പാത്ത് ഉപയോഗിച്ച് എക്uസ്uട്രാക്uറ്റ് ചെയ്യേണ്ട ഫയലാണ് ഫയലിന്റെ പേര്
  • /where/to/restore എന്നത് ലോക്കൽ സിസ്റ്റത്തിലെ ഡയറക്uടറിയാണ്, അവിടെ ഫയൽ പുനഃസ്ഥാപിക്കണം.

ഞങ്ങളുടെ കാര്യത്തിൽ, റിമോട്ട് ബാക്കപ്പിൽ നിന്ന് ക്രോൺ മെയിൻ ലോഗ് പുനഃസ്ഥാപിക്കുന്നതിന് ഞങ്ങൾ പ്രവർത്തിപ്പിക്കേണ്ടതുണ്ട്:

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

ക്രോൺ ലോഗ് ആവശ്യമുള്ള സ്ഥലത്തേക്ക് പുനഃസ്ഥാപിക്കണം.

അതുപോലെ, /var/log-ൽ നിന്ന് ഒരു ഡയറക്ടറി ഇല്ലാതാക്കാനും ബാക്കപ്പ് ഉപയോഗിച്ച് അത് പുനഃസ്ഥാപിക്കാനും മടിക്കേണ്ടതില്ല:

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

ഈ ഉദാഹരണത്തിൽ, മെയിൽ ഡയറക്ടറി അതിന്റെ എല്ലാ ഉള്ളടക്കങ്ങളോടും കൂടി അതിന്റെ യഥാർത്ഥ സ്ഥാനത്തേക്ക് പുനഃസ്ഥാപിക്കേണ്ടതാണ്.

ഡ്യൂപ്ലസിറ്റിയുടെ മറ്റ് സവിശേഷതകൾ

ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് എപ്പോൾ വേണമെങ്കിലും ആർക്കൈവ് ചെയ്ത ഫയലുകളുടെ ലിസ്റ്റ് പ്രദർശിപ്പിക്കാൻ കഴിയും:

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

6 മാസത്തിലധികം പഴക്കമുള്ള ബാക്കപ്പുകൾ ഇല്ലാതാക്കുക:

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

2 ദിവസവും 12 മണിക്കൂറും മുമ്പുള്ള എന്റെ ഫയൽ ഗകനേപ ഡയറക്uടറിക്കുള്ളിൽ പുനഃസ്ഥാപിക്കുക:

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

അവസാന കമാൻഡിൽ, സമയ ഇടവേളയുടെ ഉപയോഗത്തിന്റെ ഒരു ഉദാഹരണം നമുക്ക് കാണാൻ കഴിയും (-t വ്യക്തമാക്കിയത്): ജോഡികളുടെ ഒരു ശ്രേണി, അതിൽ ഓരോന്നിനും s, m, h, D, എന്നീ പ്രതീകങ്ങളിൽ ഒന്ന് അടങ്ങിയിരിക്കുന്നു. W, M, അല്ലെങ്കിൽ Y (യഥാക്രമം സെക്കൻഡുകൾ, മിനിറ്റ്, മണിക്കൂറുകൾ, ദിവസങ്ങൾ, ആഴ്ചകൾ, മാസങ്ങൾ അല്ലെങ്കിൽ വർഷങ്ങൾ എന്നിവയെ സൂചിപ്പിക്കുന്നു).

സംഗ്രഹം

ഈ ലേഖനത്തിൽ, ഫയലുകൾക്കും ഡയറക്uടറികൾക്കുമായി എൻക്രിപ്uഷൻ നൽകുന്ന ഒരു ബാക്കപ്പ് യൂട്ടിലിറ്റിയായ ഡ്യൂപ്ലസിറ്റി എങ്ങനെ ഉപയോഗിക്കാമെന്ന് ഞങ്ങൾ വിശദീകരിച്ചിട്ടുണ്ട്. കൂടുതൽ ഡോക്യുമെന്റേഷനും ഉദാഹരണങ്ങൾക്കും ഡ്യൂപ്ലസിറ്റി പ്രോജക്റ്റിന്റെ വെബ്uസൈറ്റ് നോക്കാൻ ഞാൻ വളരെ ശുപാർശ ചെയ്യുന്നു.

നിങ്ങളുടെ വായനാ സൗകര്യത്തിനായി PDF ഫോർമാറ്റിൽ ഇരട്ടത്താപ്പിന്റെ ഒരു മാൻ പേജ് ഞങ്ങൾ നൽകിയിട്ടുണ്ട്, ഇത് ഒരു സമ്പൂർണ്ണ റഫറൻസ് ഗൈഡ് കൂടിയാണ്.

നിങ്ങൾക്ക് എന്തെങ്കിലും ചോദ്യങ്ങളോ അഭിപ്രായങ്ങളോ ഉണ്ടെങ്കിൽ ഞങ്ങളെ അറിയിക്കാൻ മടിക്കേണ്ടതില്ല.