കണക്uറ്റുചെയ്uതിരിക്കുമ്പോൾ USB മീഡിയയിലേക്ക് ഫയലുകൾ എങ്ങനെ സ്വയമേവ ബാക്കപ്പ് ചെയ്യാം


യഥാർത്ഥ ഡാറ്റ പുനഃസ്ഥാപിക്കുന്നതിനുള്ള ഒരു മാർഗം വാഗ്ദാനം ചെയ്യുന്ന, ഡാറ്റ നഷ്uടത്തിനെതിരായ അവസാന പ്രതിരോധമാണ് ബാക്കപ്പ്. നിങ്ങളുടെ ഡാറ്റ ബാക്കപ്പ് ചെയ്യുന്നതിന് നിങ്ങൾക്ക് ബാഹ്യ ഹാർഡ് ഡ്രൈവ് അല്ലെങ്കിൽ USB ഫ്ലാഷ് ഡിസ്ക് അല്ലെങ്കിൽ പങ്കിട്ട നെറ്റ്uവർക്ക് ഫോൾഡർ അല്ലെങ്കിൽ റിമോട്ട് ഹോസ്റ്റ് പോലുള്ള നീക്കം ചെയ്യാവുന്ന മീഡിയ ഉപയോഗിക്കാം. നിങ്ങൾ ഓർക്കാതെ തന്നെ നിങ്ങളുടെ പ്രധാനപ്പെട്ട ഫയലുകൾ സ്വയമേവ ബാക്കപ്പ് ചെയ്യുന്നത് വളരെ എളുപ്പമാണ് (ഒപ്പം അത്യന്താപേക്ഷിതവുമാണ്).

ഈ ലേഖനത്തിൽ, നിങ്ങളുടെ Linux മെഷീനിലേക്ക് കണക്uറ്റ് ചെയ്uത ശേഷം നീക്കം ചെയ്യാവുന്ന മീഡിയയിലേക്ക് ഡാറ്റ എങ്ങനെ യാന്ത്രികമായി ബാക്കപ്പ് ചെയ്യാമെന്ന് ഞങ്ങൾ പഠിക്കും. ഞങ്ങൾ ഒരു ബാഹ്യ ഡിസ്ക് ഉപയോഗിച്ച് പരിശോധിക്കും. യഥാർത്ഥ ജീവിത പരിഹാരങ്ങൾക്കായി udev ഉപയോഗിക്കുന്നത് ആരംഭിക്കുന്നതിനുള്ള അടിസ്ഥാന ഗൈഡാണിത്.

ഈ ലേഖനത്തിന്റെ ഉദ്ദേശ്യത്തിനായി, ഞങ്ങൾക്ക് ഇനിപ്പറയുന്നവയുള്ള ഒരു ആധുനിക ലിനക്സ് സിസ്റ്റം ആവശ്യമാണ്:

  1. സിസ്റ്റംഡ് സിസ്റ്റങ്ങളും സേവന മാനേജർ
  2. udev ഉപകരണ മാനേജർ
  3. rsync ബാക്കപ്പ് ടൂൾ

നീക്കം ചെയ്യാവുന്ന മീഡിയയ്ക്കായി Udev നിയമങ്ങൾ എങ്ങനെ ക്രമീകരിക്കാം

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

ഉപകരണ ഇവന്റ് കൈകാര്യം ചെയ്യുന്നതിനുള്ള യഥാർത്ഥ നിയമം കോൺഫിഗർ ചെയ്യുന്നതിന് മുമ്പ്, ബാക്കപ്പിനായി ഉപയോഗിക്കുന്ന നീക്കം ചെയ്യാവുന്ന മീഡിയയുടെ ചില ആട്രിബ്യൂട്ടുകൾ ഞങ്ങൾ udev-ന് നൽകേണ്ടതുണ്ട്. പ്രവർത്തിക്കുന്ന സിസ്റ്റത്തിലേക്ക് ബാഹ്യ ഡിസ്ക് കണക്റ്റുചെയ്uത് അതിന്റെ വെണ്ടറും ഉൽപ്പന്ന ഐഡിയും തിരിച്ചറിയുന്നതിന് ഇനിപ്പറയുന്ന lsusb കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.

ടെസ്റ്റിംഗ് ആവശ്യത്തിനായി, കാണിച്ചിരിക്കുന്നതുപോലെ ഞങ്ങൾ 1TB എക്സ്റ്റേണൽ ഹാർഡ് ഡിസ്ക് ഉപയോഗിക്കും.

$ lsusb

മുകളിലെ കമാൻഡിന്റെ ഔട്ട്uപുട്ടിൽ നിന്ന്, ഞങ്ങളുടെ ഉപകരണ വെണ്ടർ ഐഡി 125f ആണ്, അത് ചുവടെ വിശദീകരിച്ചിരിക്കുന്നതുപോലെ ഞങ്ങൾ udev നിയമങ്ങളിൽ വ്യക്തമാക്കും.

ആദ്യം, സിസ്റ്റത്തിൽ നിന്ന് കണക്റ്റുചെയ്uത മീഡിയ നീക്കം ചെയ്uത് /etc/udev/rules.d/ ഡയറക്uടറിക്ക് കീഴിൽ 10.autobackup.rules എന്ന പേരിൽ ഒരു പുതിയ udev റൂൾസ് ഫയൽ സൃഷ്uടിക്കുക.

ഫയൽ നാമത്തിലെ 10 നിയമങ്ങൾ നടപ്പിലാക്കുന്നതിന്റെ ക്രമം വ്യക്തമാക്കുന്നു. നിയമങ്ങൾ പാഴ്uസ് ചെയ്യുന്ന ക്രമം പ്രധാനമാണ്; ഡിഫോൾട്ടുകൾക്ക് മുമ്പ് പാഴ്uസ് ചെയ്യുന്നതിനായി നിങ്ങൾ എല്ലായ്പ്പോഴും ഇഷ്uടാനുസൃത നിയമങ്ങൾ സൃഷ്uടിക്കണം.

$ sudo vim /etc/udev/rules.d/10.autobackup.rules

തുടർന്ന് അതിൽ ഇനിപ്പറയുന്ന നിയമം ചേർക്കുക:

SUBSYSTEM=="block", ACTION=="add", ATTRS{idVendor}=="125f" SYMLINK+="external%n", RUN+="/bin/autobackup.sh"

മുകളിലുള്ള നിയമം നമുക്ക് ചുരുക്കമായി വിശദീകരിക്കാം:

  • ==\: തുല്യതയ്ക്കായി താരതമ്യം ചെയ്യാനുള്ള ഒരു ഓപ്പറേറ്ററാണ്.
  • \+=\: എൻട്രികളുടെ ഒരു ലിസ്റ്റ് കൈവശമുള്ള ഒരു കീയിലേക്ക് മൂല്യം ചേർക്കുന്നതിനുള്ള ഒരു ഓപ്പറേറ്ററാണ്.
  • SUBSYSTEM: ഇവന്റ് ഉപകരണത്തിന്റെ ഉപസിസ്റ്റവുമായി പൊരുത്തപ്പെടുന്നു.
  • നടപടി: ഇവന്റ് പ്രവർത്തനത്തിന്റെ പേരുമായി പൊരുത്തപ്പെടുന്നു.
  • ATTRS{idVendor}: ഇവന്റ് ഉപകരണത്തിന്റെ sysfs ആട്രിബ്യൂട്ട് മൂല്യങ്ങളുമായി പൊരുത്തപ്പെടുന്നു, അത് ഉപകരണ വെണ്ടർ ഐഡിയാണ്.
  • RUN: ഇവന്റ് കൈകാര്യം ചെയ്യലിന്റെ ഭാഗമായി എക്സിക്യൂട്ട് ചെയ്യേണ്ട ഒരു പ്രോഗ്രാമോ സ്ക്രിപ്റ്റോ വ്യക്തമാക്കുന്നു.

ഫയൽ സംരക്ഷിച്ച് അത് അടയ്ക്കുക.

ഒരു യാന്ത്രിക ബാക്കപ്പ് സ്uക്രിപ്റ്റ് സൃഷ്uടിക്കുക

ഇപ്പോൾ ഒരു യാന്ത്രിക ബാക്കപ്പ് സ്ക്രിപ്റ്റ് സൃഷ്uടിക്കുക, അത് സിസ്റ്റത്തിലേക്ക് കണക്uറ്റ് ചെയ്യുമ്പോൾ നീക്കം ചെയ്യാവുന്ന USB-യിലേക്ക് ഫയലുകൾ സ്വയമേവ ബാക്കപ്പ് ചെയ്യും.

$ sudo vim /bin/autobackup.sh 

ഇപ്പോൾ ഇനിപ്പറയുന്ന സ്ക്രിപ്റ്റ് പകർത്തി ഒട്ടിക്കുക, സ്ക്രിപ്റ്റിലെ BACKUP_SOURCE, BACKUP_DEVICE, MOUNT_POINT എന്നിവയുടെ മൂല്യങ്ങൾ മാറ്റിസ്ഥാപിക്കുന്നത് ഉറപ്പാക്കുക.

#!/usr/bin/bash
BACKUP_SOURCE="/home/admin/important"
BACKUP_DEVICE="/dev/external1"
MOUNT_POINT="/mnt/external"


#check if mount point directory exists, if not create it
if [ ! -d “MOUNT_POINT” ] ; then 
	/bin/mkdir  “$MOUNT_POINT”; 
fi

/bin/mount  -t  auto  “$BACKUP_DEVICE”  “$MOUNT_POINT”

#run a differential backup of files
/usr/bin/rsync -auz "$MOUNT_POINT" "$BACKUP_SOURCE" && /bin/umount "$BACKUP_DEVICE"
exit

തുടർന്ന് താഴെ പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് സ്ക്രിപ്റ്റ് എക്സിക്യൂട്ടബിൾ ആക്കുക.

$ sudo chmod +x /bin/autobackup.sh

അടുത്തതായി, ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് udev നിയമങ്ങൾ വീണ്ടും ലോഡുചെയ്യുക.

$ udevadm control --reload

അടുത്ത തവണ നിങ്ങളുടെ എക്uസ്uറ്റേണൽ ഹാർഡ് ഡിസ്uക് അല്ലെങ്കിൽ നിങ്ങൾ സിസ്റ്റത്തിലേക്ക് കോൺഫിഗർ ചെയ്uത ഏത് ഉപകരണവും കണക്uറ്റ് ചെയ്യുമ്പോൾ, നിർദ്ദിഷ്uട ലൊക്കേഷനിൽ നിന്നുള്ള നിങ്ങളുടെ എല്ലാ രേഖകളും അതിലേക്ക് സ്വയമേവ ബാക്കപ്പ് ചെയ്യണം.

ശ്രദ്ധിക്കുക: നിങ്ങളുടെ നീക്കം ചെയ്യാവുന്ന മീഡിയയിലെ ഫയൽസിസ്റ്റം, നിങ്ങൾ എഴുതുന്ന udev നിയമങ്ങൾ, പ്രത്യേകിച്ച് ഉപകരണ ആട്രിബ്യൂട്ടുകൾ ക്യാപ്uചർ ചെയ്യൽ എന്നിവയാൽ ഇത് എത്രത്തോളം ഫലപ്രദമായി പ്രവർത്തിക്കുന്നു എന്നതിനെ സ്വാധീനിച്ചേക്കാം.

കൂടുതൽ വിവരങ്ങൾക്ക്, udev, mount, rsync മാൻ പേജുകൾ കാണുക.

$ man udev
$ man mount 
$ man rsync 

ഇനിപ്പറയുന്ന Linux ബാക്കപ്പുമായി ബന്ധപ്പെട്ട ലേഖനങ്ങൾ വായിക്കാനും നിങ്ങൾ ആഗ്രഹിച്ചേക്കാം.

  1. rdiff-backup – Linux-നുള്ള ഒരു റിമോട്ട് ഇൻക്രിമെന്റൽ ബാക്കപ്പ് ടൂൾ
  2. ശവകുടീരം - ലിനക്സിനുള്ള ഒരു ഫയൽ എൻക്രിപ്ഷനും വ്യക്തിഗത ബാക്കപ്പ് ടൂളും
  3. സിസ്റ്റം ടാറും പുനഃസ്ഥാപിക്കലും - Linux-നുള്ള ഒരു ബഹുമുഖ ബാക്കപ്പ് സ്ക്രിപ്റ്റ്
  4. ലിനക്സിൽ ഡ്യൂപ്ലസിറ്റി ഉപയോഗിച്ച് ബാൻഡ്uവിഡ്ത്ത് കാര്യക്ഷമമായ ബാക്കപ്പുകൾ എങ്ങനെ സൃഷ്ടിക്കാം
  5. Rsnapshot - Linux-നുള്ള ഒരു ലോക്കൽ/റിമോട്ട് ബാക്കപ്പ് ടൂൾ
  6. Rsync ഉപയോഗിച്ച് രണ്ട് അപ്പാച്ചെ വെബ് സെർവറുകൾ/വെബ്സൈറ്റുകൾ എങ്ങനെ സമന്വയിപ്പിക്കാം

ഇപ്പോഴത്തേക്ക് ഇത്രമാത്രം! ഈ ലേഖനത്തിൽ, നിങ്ങളുടെ Linux മെഷീനിലേക്ക് കണക്uറ്റ് ചെയ്uത ശേഷം നീക്കം ചെയ്യാവുന്ന മീഡിയയിലേക്ക് ഡാറ്റ എങ്ങനെ യാന്ത്രികമായി ബാക്കപ്പ് ചെയ്യാമെന്ന് ഞങ്ങൾ വിശദീകരിച്ചിട്ടുണ്ട്. ചുവടെയുള്ള ഫീഡ്uബാക്ക് ഫോം വഴി നിങ്ങളിൽ നിന്ന് കേൾക്കാൻ ഞങ്ങൾ ആഗ്രഹിക്കുന്നു.