Kako samodejno varnostno kopirati datoteke na medij USB, ko ste povezani


Varnostno kopiranje je zadnja obramba pred izgubo podatkov, ki ponuja način za obnovitev prvotnih podatkov. Za varnostno kopiranje podatkov lahko uporabite odstranljiv medij, na primer zunanji trdi disk ali bliskovni pogon USB ali mapo v skupni rabi, ali oddaljenega gostitelja. Zelo enostavno (in enako pomembno) je samodejno varnostno kopiranje pomembnih datotek, ne da bi se morali tega spomniti.

V tem članku se bomo naučili, kako samodejno varnostno kopirati podatke na izmenljivi medij, potem ko ga povežete s svojim računalnikom Linux. Preizkusili bomo z zunanjim diskom. To je osnovni vodnik za začetek uporabe udev za rešitve v resničnem življenju.

Za namen tega članka potrebujemo sodoben sistem Linux z:

  1. sistemski upravitelj sistemov in storitev
  2. upravitelj naprav udev
  3. orodje za varnostno kopiranje rsync

Kako konfigurirati pravila Udev za odstranljive medije

Udev je upravitelj naprav, ki vam omogoča, da določite pravila, ki lahko med drugim sprožijo izvajanje programa ali skripta, ko je naprava dodana ali odstranjena iz delujočega sistema, kot del obravnave dogodkov v napravi. To funkcijo lahko uporabimo za izvedbo varnostnega skripta, potem ko smo v delujoči sistem dodali odstranljiv medij.

Preden konfiguriramo dejansko pravilo za obravnavo dogodkov v napravi, moramo udev zagotoviti nekatere atribute odstranljivega medija, ki bodo uporabljeni za varnostno kopiranje. Priključite zunanji disk na delujoči sistem in zaženite naslednji ukaz lsusb, da ugotovite njegovega prodajalca in ID izdelka.

Za namene testiranja bomo uporabili 1TB zunanji trdi disk, kot je prikazano.

$ lsusb

Iz rezultatov zgornjega ukaza je naš ID prodajalca naprave 125f , ki ga bomo določili v pravilih udev, kot je razloženo spodaj.

Najprej odstranite povezani medij iz sistema in ustvarite novo datoteko pravil udev z imenom 10.autobackup.rules v imeniku /etc/udev/rules.d/.

10 v imenu datoteke določa vrstni red izvajanja pravil. Vrstni red razčlenjevanja pravil je pomemben; vedno morate ustvariti pravila po meri, ki jih je treba razčleniti pred privzetimi vrednostmi.

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

Nato vanj dodajte naslednje pravilo:

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

Na kratko razložimo zgornje pravilo:

  • \"== \" : je operater za primerjavo za enakost.
  • \"+= \" : je operater za dodajanje vrednosti ključu, ki vsebuje seznam vnosov.
  • SUBSISTEM: se ujema s podsistemom naprave za dogodke.
  • ACTION: se ujema z imenom dejanja dogodka.
  • ATTRS {idVendor}: se ujema z vrednostmi atributov sysfs naprave dogodka, kar je ID prodajalca naprave.
  • RUN: podaja program ali skript za izvajanje kot del obravnave dogodkov.

Shranite datoteko in jo zaprite.

Ustvarite skript za samodejno varnostno kopiranje

Zdaj ustvarite skript za samodejno varnostno kopiranje, ki bo samodejno varnostno kopiral datoteke na izmenljivi USB, ko je povezan s sistemom.

$ sudo vim /bin/autobackup.sh 

Zdaj kopirajte in prilepite naslednji skript, ne pozabite zamenjati vrednosti BACKUP_SOURCE, BACKUP_DEVICE in MOUNT_POINT v skriptu.

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

Nato naredite skript izvedljiv z naslednjim ukazom.

$ sudo chmod +x /bin/autobackup.sh

Nato znova naložite pravila udev z naslednjim ukazom.

$ udevadm control --reload

Ko naslednjič povežete zunanji trdi disk ali katero koli napravo, ki ste jo konfigurirali v sistem, bi morali biti na njem samodejno varnostno kopirani vsi vaši dokumenti z določenega mesta.

Opomba: Kako učinkovito na to deluje lahko vplivata datotečni sistem na izmenljivem mediju in pravila udev, ki jih pišete, zlasti zajemanje atributov naprave.

Za več informacij si oglejte strani udev, mount in rsync.

$ man udev
$ man mount 
$ man rsync 

Morda boste želeli prebrati tudi te članke, povezane z varnostno kopijo Linuxa.

  1. rdiff-backup-Orodje za oddaljeno inkrementalno varnostno kopiranje za Linux
  2. Tomb - Orodje za šifriranje datotek in osebno varnostno kopiranje za Linux
  3. Sistemski tar in obnovitev - vsestranski skript za varnostno kopiranje za Linux
  4. Kako ustvariti varnostne kopije, učinkovite pri pasovni širini, z uporabo dvojnosti v Linuxu
  5. Rsnapshot - lokalno/oddaljeno orodje za varnostno kopiranje za Linux
  6. Kako sinhronizirati dva spletna strežnika/spletna mesta Apache z uporabo Rsync

To je vse za zdaj! V tem članku smo razložili, kako samodejno varnostno kopirati podatke na izmenljivi medij, potem ko ga povežete z računalnikom Linux. Radi bi vas slišali preko spodnjega obrazca za povratne informacije.