Tiedostojen automaattinen varmuuskopiointi USB-medialle, kun se on kytketty


Varmuuskopiointi on viimeinen suojaus tietojen katoamista vastaan, ja se tarjoaa keinon palauttaa alkuperäiset tiedot. Voit käyttää tietojesi varmuuskopiointiin joko irrotettavaa tietovälinettä, kuten ulkoista kiintolevyä tai USB-flash-levyä tai jaettua verkkokansiota, tai etäisäntää. On erittäin helppoa (ja yhtä tärkeää) varmuuskopioida tärkeät tiedostosi automaattisesti ilman, että sinun tarvitsee muistaa tehdä niin.

Lue myös: 24 erinomaista varmuuskopiointityökalua Linux-järjestelmille vuonna 2018

Tässä artikkelissa opimme varmuuskopioimaan tiedot automaattisesti siirrettävälle tietovälineelle sen liittämisen jälkeen Linux-koneeseen. Testaamme ulkoisella levyllä. Tämä on perusopas, jonka avulla pääset alkuun udev:n käyttämisessä tosielämän ratkaisuissa.

Tätä artikkelia varten tarvitsemme nykyaikaisen Linux-järjestelmän, jossa on:

  1. järjestelmällinen järjestelmien ja palveluiden johtaja
  2. udev laitehallinta
  3. rsync varmuuskopiointityökalu

Udev-sääntöjen määrittäminen siirrettävälle tietovälineelle

Udev on laitehallinta, jonka avulla voit määrittää sääntöjä, jotka voivat muun muassa käynnistää ohjelman tai komentosarjan suorittamisen, kun laite lisätään käynnissä olevaan järjestelmään tai poistetaan siitä osana laitteen tapahtumien käsittelyä. . Voimme käyttää tätä ominaisuutta varmuuskopion suorittamiseen sen jälkeen, kun on lisätty irrotettava tietoväline käynnissä olevaan järjestelmään.

Ennen kuin määritämme laitteen tapahtumien käsittelyn varsinaisen säännön, meidän on annettava udeville joitakin varmuuskopiointiin käytettävän siirrettävän tietovälineen attribuutteja. Liitä ulkoinen levy käynnissä olevaan järjestelmään ja suorita seuraava lsusb-komento tunnistaaksesi sen toimittaja ja tuotetunnus.

Testaustarkoituksessa käytämme 1 Tt ulkoista kiintolevyä kuvan mukaisesti.

lsusb

Yllä olevan komennon tuloksesta laitetoimittajamme tunnus on 125f, jonka määritämme udev-säännöissä alla kuvatulla tavalla.

Poista ensin yhdistetty media järjestelmästä ja luo uusi udev-sääntötiedosto nimeltä 10.autobackup.rules hakemistoon /etc/udev/rules.d/.

Tiedostonimessä oleva 10 määrittää sääntöjen suoritusjärjestyksen. Järjestys, jossa säännöt jäsennetään, on tärkeä; sinun tulee aina luoda mukautettuja sääntöjä jäsennettäväksi ennen oletusasetuksia.

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

Lisää sitten siihen seuraava sääntö:

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

Selvitetään lyhyesti yllä oleva sääntö:

  • "==": on operaattori, jota voidaan verrata tasa-arvoon.
  • "+=": on operaattori, joka lisää arvon avaimeen, joka sisältää merkintäluettelon.
  • ALAJÄRJESTELMÄ: vastaa tapahtumalaitteen alijärjestelmää.
  • TOIMINTO: vastaa tapahtuman toiminnon nimeä.
  • ATTRS{idVendor}: vastaa tapahtumalaitteen sysfs-attribuuttiarvoja, joka on laitteen toimittajan tunnus.
  • SUORITA: määrittää ohjelman tai komentosarjan, joka suoritetaan osana tapahtumankäsittelyä.

Tallenna tiedosto ja sulje se.

Luo automaattinen varmuuskopiointiohjelma

Luo nyt automaattinen varmuuskopiointiohjelma, joka varmuuskopioi tiedostot automaattisesti siirrettävälle USB:lle, kun se on liitetty järjestelmään.

sudo vim /bin/autobackup.sh 

Kopioi ja liitä seuraava komentosarja. Muista korvata skriptin arvot BACKUP_SOURCE, BACKUP_DEVICE, ja 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

Tee sitten komentosarjasta suoritettava seuraavalla komennolla.

sudo chmod +x /bin/autobackup.sh

Lataa seuraavaksi udev-säännöt uudelleen seuraavalla komennolla.

udevadm control --reload

Kun seuraavan kerran liität ulkoisen kiintolevyn tai minkä tahansa määrittämäsi laitteen järjestelmään, kaikki asiakirjasi määritetystä sijainnista tulee varmuuskopioida siihen automaattisesti.

Huomaa: siirrettävän tietovälineen tiedostojärjestelmä ja kirjoittamasi udev-säännöt, erityisesti laiteattribuuttien sieppaus, voivat vaikuttaa tämän toiminnan tehokkuuteen.

Lisätietoja on udev-, mount- ja rsync -man-sivuilla.

man udev
man mount 
man rsync 

Saatat myös haluta lukea nämä seuraavat Linux-varmuuskopiointiin liittyvät artikkelit.

  1. rdiff-backup – Remote Incremental Backup Tool Linuxille
  2. Tomb – Tiedoston salaus- ja henkilökohtainen varmuuskopiointityökalu Linuxille
  3. System Tar and Restore – monipuolinen varmuuskopiointiohjelma Linuxille
  4. Kuinka luoda kaistanleveyttä tehokkaita varmuuskopioita käyttämällä kaksinkertaisuutta Linuxissa
  5. Rsnapshot – Paikallinen/etävarmuuskopiointityökalu Linuxille
  6. Kahden Apache-verkkopalvelimen/verkkosivuston synkronoiminen Rsyncin avulla

Tässä kaikki tältä erää! Tässä artikkelissa olemme selittäneet, kuinka tiedot voidaan varmuuskopioida automaattisesti siirrettävälle tietovälineelle sen liittämisen jälkeen Linux-koneeseen. Haluaisimme kuulla sinusta alla olevan palautelomakkeen kautta.