Cum să copiați automat fișierele pe un suport USB când sunteți conectat


O copie de rezervă este ultima apărare împotriva pierderii datelor, oferind un mijloc de a restaura datele originale. Puteți utiliza fie un suport amovibil, cum ar fi un hard disk extern sau un disc flash USB sau un folder de rețea partajat, fie o gazdă la distanță pentru a face copii de rezervă ale datelor. Este foarte ușor (și la fel de esențial) să faci backup automat la fișierele importante fără să fii nevoit să-ți amintești să faci acest lucru.

Citiți și: 24 de instrumente de backup remarcabile pentru sistemele Linux în 2018

În acest articol, vom învăța cum să facem backup automat al datelor pe un suport amovibil după ce le-am conectat la mașina dvs. Linux. Vom testa cu un disc extern. Acesta este un ghid de bază pentru a începe să utilizați udev pentru soluții din viața reală.

În scopul acestui articol, avem nevoie de un sistem Linux modern cu:

  1. manager de sisteme și servicii systemd
  2. manager de dispozitive udev
  3. instrument de rezervă rsync

Cum se configurează regulile Udev pentru mediile amovibile

Udev este un manager de dispozitive care vă permite să definiți reguli care pot, printre altele, să declanșeze execuția unui program sau script atunci când un dispozitiv este adăugat sau eliminat dintr-un sistem care rulează, ca parte a gestionării evenimentelor dispozitivului. . Putem folosi această caracteristică pentru a executa un script de rezervă după adăugarea unui mediu amovibil la sistemul care rulează.

Înainte de a configura regula reală pentru gestionarea evenimentelor dispozitivului, trebuie să furnizăm udev câteva atribute ale suportului amovibil care va fi folosit pentru backup. Conectați discul extern la sistemul care rulează și executați următoarea comandă lsusb pentru a identifica furnizorul și ID-ul produsului.

În scopul testării, vom folosi hard disk extern de 1 TB, așa cum se arată.

lsusb

Din rezultatul comenzii de mai sus, ID-ul nostru de furnizor al dispozitivului este 125f, pe care îl vom specifica în regulile udev, așa cum este explicat mai jos.

Mai întâi, eliminați media conectată din sistem și creați un nou fișier de reguli udev numit 10.autobackup.rules în directorul /etc/udev/rules.d/.

10 din numele fișierului specifică ordinea de execuție a regulilor. Ordinea în care sunt analizate regulile este importantă; ar trebui să creați întotdeauna reguli personalizate care să fie analizate înainte de valorile implicite.

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

Apoi adăugați următoarea regulă în el:

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

Să explicăm pe scurt regula de mai sus:

  • "=": este un operator de comparat pentru egalitate.
  • "+=": este un operator pentru a adăuga valoarea unei chei care deține o listă de intrări.
  • SUBSISTEM: se potrivește cu subsistemul dispozitivului pentru evenimente.
  • ACȚIUNE: se potrivește cu numele acțiunii evenimentului.
  • ATTRS{idVendor}: se potrivește cu valorile atributelor sysfs ale dispozitivului eveniment, care este ID-ul furnizorului dispozitivului.
  • RUN: specifică un program sau un script de executat ca parte a gestionării evenimentelor.

Salvați fișierul și închideți-l.

Creați un script de backup automat

Acum creați un script de backup automat care va face backup automat la fișierele pe USB amovibil atunci când este conectat la sistem.

sudo vim /bin/autobackup.sh 

Acum copiați și inserați următorul script, asigurați-vă că înlocuiți valorile BACKUP_SOURCE, BACKUP_DEVICE și MOUNT_POINT în script.

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

Apoi faceți scriptul executabil cu următoarea comandă.

sudo chmod +x /bin/autobackup.sh

Apoi, reîncărcați regulile udev utilizând următoarea comandă.

udevadm control --reload

Data viitoare când vă conectați hard diskul extern sau orice dispozitiv pe care l-ați configurat la sistem, toate documentele din locația specificată ar trebui să facă backup automat pe acesta.

Notă: cât de eficient funcționează acest lucru poate fi influențat de sistemul de fișiere de pe mediul dvs. amovibil și de regulile udev pe care le scrieți, în special de capturarea atributelor dispozitivului.

Pentru mai multe informații, consultați paginile de manual udev, mount și rsync.

man udev
man mount 
man rsync 

De asemenea, v-ar putea dori să citiți următoarele articole legate de backup-ul Linux.

  1. rdiff-backup – Un instrument de backup incremental la distanță pentru Linux
  2. Tomb – Un instrument de criptare a fișierelor și de backup personal pentru Linux
  3. System Tar and Restore – Un script de backup versatil pentru Linux
  4. Cum se creează copii de rezervă eficiente din punct de vedere al lățimii de bandă folosind Duplicity în Linux
  5. Rsnapshot – Un instrument de backup local/la distanță pentru Linux
  6. Cum să sincronizați două servere/site-uri web Apache folosind Rsync

Asta este tot pentru acum! În acest articol, am explicat cum să faceți backup automat al datelor pe un suport amovibil după ce le conectați la computerul dvs. Linux. Am dori să aflăm de la dvs. prin intermediul formularului de feedback de mai jos.