Jinsi ya Kuhifadhi nakala kiotomatiki kwa Midia ya USB Wakati Imeunganishwa


Hifadhi rudufu ni ulinzi wa mwisho dhidi ya upotezaji wa data, ikitoa njia ya kurejesha data asili. Unaweza kutumia media inayoweza kutolewa kama vile diski kuu ya nje au diski ya USB flash au folda ya mtandao inayoshirikiwa, au seva pangishi ya mbali ili kuhifadhi nakala ya data yako. Ni rahisi sana (na ni muhimu pia) kuweka nakala rudufu za faili zako muhimu kiotomatiki bila wewe kukumbuka kufanya hivyo.

Katika makala haya, tutajifunza jinsi ya kuhifadhi data kiotomatiki kwa midia inayoweza kutolewa baada ya kuiunganisha kwenye mashine yako ya Linux. Tutajaribu na diski ya nje. Huu ni mwongozo wa kimsingi wa kukufanya uanze kutumia udev kwa suluhu za maisha halisi.

Kwa madhumuni ya kifungu hiki, tunahitaji mfumo wa kisasa wa Linux na:

  1. kidhibiti cha mifumo na huduma
  2. udev kidhibiti cha kifaa
  3. zana ya kuhifadhi nakala ya rsync

Jinsi ya kusanidi Sheria za Udev kwa Media Inayoweza Kuondolewa

Udev ni kidhibiti cha kifaa ambacho hukuwezesha kufafanua sheria ambazo zinaweza, miongoni mwa zingine, kuanzisha utekelezaji wa programu au hati wakati kifaa kinaongezwa au kuondolewa kwenye mfumo unaoendesha, kama sehemu ya ushughulikiaji wa tukio la kifaa. Tunaweza kutumia kipengele hiki kutekeleza hati mbadala baada ya kuongeza midia inayoweza kutolewa kwenye mfumo unaoendesha.

Kabla ya kusanidi kanuni halisi ya kushughulikia tukio la kifaa, tunahitaji kutoa udev baadhi ya sifa za midia inayoweza kutolewa ambayo itatumika kuhifadhi nakala. Unganisha diski ya nje kwenye mfumo unaoendesha na uendesha amri ifuatayo ya lsusb ili kutambua muuzaji wake na kitambulisho cha bidhaa.

Kwa madhumuni ya majaribio, tutakuwa tukitumia diski kuu ya nje ya 1TB kama inavyoonyeshwa.

$ lsusb

Kutoka kwa matokeo ya amri iliyo hapo juu, kitambulisho chetu cha mchuuzi wa kifaa ni 125f, ambacho tutabainisha katika sheria za udev kama ilivyoelezwa hapa chini.

Kwanza, ondoa midia iliyounganishwa kwenye mfumo na uunde faili mpya ya sheria za udev inayoitwa 10.autobackup.rules chini ya saraka /etc/udev/rules.d/.

10 katika jina la faili inabainisha utaratibu wa utekelezaji wa sheria. Mpangilio ambao sheria huchanganuliwa ni muhimu; unapaswa kuunda sheria maalum ili kuchanganuliwa kabla ya chaguo-msingi.

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

Kisha ongeza sheria ifuatayo ndani yake:

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

Wacha tueleze kwa ufupi sheria hapo juu:

  • ==\: ni opereta wa kulinganisha kwa usawa.
  • \+=\: ni opereta wa kuongeza thamani kwenye ufunguo unaohifadhi orodha ya maingizo.
  • SUBSYSTEM: inalingana na mfumo mdogo wa kifaa cha tukio.
  • ACTION: inalingana na jina la kitendo cha tukio.
  • ATTRS{idVendor}: inalingana na thamani za sifa za sysfs za kifaa cha tukio, ambacho ni kitambulisho cha mchuuzi wa kifaa.
  • RUN: inabainisha programu au hati ya kutekeleza kama sehemu ya kushughulikia tukio.

Hifadhi faili na uifunge.

Unda Hati ya Hifadhi Nakala Kiotomatiki

Sasa unda hati ya kuhifadhi nakala kiotomatiki ambayo itahifadhi faili kiotomatiki kwa USB inayoweza kutolewa wakati imeunganishwa kwenye mfumo.

$ sudo vim /bin/autobackup.sh 

Sasa nakili na ubandike hati ifuatayo, hakikisha kuwa umebadilisha thamani za BACKUP_SOURCE, BACKUP_DEVICE, na MOUNT_POINT kwenye hati.

#!/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

Kisha fanya hati itekelezwe na amri ifuatayo.

$ sudo chmod +x /bin/autobackup.sh

Ifuatayo, pakia upya sheria za udev kwa kutumia amri ifuatayo.

$ udevadm control --reload

Wakati mwingine unapounganisha diski kuu yako ya nje au kifaa chochote ulichosanidi kwenye mfumo, hati zako zote kutoka eneo lililobainishwa zinapaswa kuchelezwa kiotomatiki kwake.

Kumbuka: Jinsi hii inavyofanya kazi kwa ufanisi inaweza kuathiriwa na mfumo wa faili kwenye media yako inayoweza kutolewa na sheria za udev unazoandika, haswa kunasa sifa za kifaa.

Kwa habari zaidi, angalia kurasa za udev, mount na rsync man.

$ man udev
$ man mount 
$ man rsync 

Unaweza pia kupenda kusoma makala haya yafuatayo yanayohusiana na chelezo ya Linux.

  1. rdiff-chelezo - Zana ya Kuhifadhi Nakala ya Mbali ya Linux
  2. Kaburi - Chombo cha Usimbaji Faili na Hifadhi Nakala Binafsi kwa Linux
  3. Lami ya Mfumo na Rejesha - Hati ya Hifadhi Nakala Inayotumika kwa ajili ya Linux
  4. Jinsi ya Kuunda Hifadhi rudufu zinazofaa kwa Bandwidth Kwa Kutumia Udumifu katika Linux
  5. Picha - Zana ya Hifadhi Nakala ya Ndani/Mbali ya Linux
  6. Jinsi ya Kusawazisha Seva/Tovuti Mbili za Apache Kwa Kutumia Rsync

Ni hayo tu kwa sasa! Katika makala haya, tumeelezea jinsi ya kuhifadhi data kiotomatiki kwa media inayoweza kutolewa baada ya kuiunganisha kwenye mashine yako ya Linux. Tungependa kusikia kutoka kwako kupitia fomu ya maoni hapa chini.