Sådan sikkerhedskopieres filer automatisk til USB-medier, når de er tilsluttet


En sikkerhedskopi er det sidste forsvar mod datatab og tilbyder et middel til at gendanne originale data. Du kan enten bruge et flytbart medie, såsom en ekstern harddisk eller USB-flashdisk eller en delt netværksmappe eller en ekstern vært til at sikkerhedskopiere dine data. Det er meget let (og lige så vigtigt) at sikkerhedskopiere dine vigtige filer automatisk uden at du behøver at huske at gøre det.

I denne artikel lærer vi, hvordan du sikkerhedskopierer data automatisk til et flytbart medie, når du har tilsluttet det til din Linux-maskine. Vi tester med en ekstern disk. Dette er en grundlæggende guide til at komme i gang med at bruge udev til virkelige løsninger.

Med henblik på denne artikel har vi brug for et moderne Linux-system med:

  1. systemd system- og servicemanager
  2. udev enhedsadministrator
  3. rsync-sikkerhedskopieringsværktøj

Sådan konfigureres Udev-regler for flytbare medier

Udev er en enhedshåndtering, der giver dig mulighed for at definere regler, der blandt andet kan udløse udførelse af et program eller script, når en enhed føjes til eller fjernes fra et kørende system som en del af enhedshændelsen. Vi kan bruge denne funktion til at udføre et backup-script efter at have tilføjet et flytbart medie til det kørende system.

Inden vi konfigurerer den faktiske regel til håndtering af enhedshændelser, skal vi give udev nogle attributter for det flytbare medie, der skal bruges til sikkerhedskopien. Tilslut den eksterne disk til det kørende system, og kør følgende lsusb-kommando for at identificere dens leverandør og produkt-id.

Til testformålet bruger vi 1 TB ekstern harddisk som vist.

$ lsusb

Fra output fra ovenstående kommando er vores enhedsleverandør-id 125f , som vi vil specificere i udev-reglerne som forklaret nedenfor.

Fjern først det tilsluttede medie fra systemet, og opret en ny udev-reglerfil kaldet 10.autobackup.rules under biblioteket /etc/udev/rules.d/.

De 10 i filnavnet specificerer rækkefølgen af udførelse af regler. Den rækkefølge, i hvilken reglerne parses, er vigtig; du skal altid oprette brugerdefinerede regler, der skal parses før standardindstillingerne.

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

Tilføj derefter følgende regel i den:

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

Lad os kort forklare ovenstående regel:

  • "==" : er en operatør, der skal sammenlignes for ligestilling.
  • "+ =" : er en operatør, der føjer værdien til en nøgle, der indeholder en liste over poster.
  • SUBSYSTEM: matcher delsystemet til begivenhedsenheden.
  • HANDLING: matcher navnet på begivenhedshandlingen.
  • ATTRS {idVendor}: matcher sysfs-attributværdier for begivenhedsenheden, som er enhedens leverandør-id.
  • KØR: specificerer et program eller script, der skal udføres som en del af begivenhedshåndteringen.

Gem filen, og luk den.

Opret et Auto Backup-script

Opret nu et automatisk backup-script, der automatisk sikkerhedskopierer filer til flytbar USB, når de er tilsluttet systemet.

$ sudo vim /bin/autobackup.sh 

Kopier og indsæt nu følgende script, sørg for at erstatte værdierne for BACKUP_SOURCE, BACKUP_DEVICE og MOUNT_POINT i scriptet.

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

Gør derefter scriptet eksekverbart med følgende kommando.

$ sudo chmod +x /bin/autobackup.sh

Indlæs derefter udev-regler igen ved hjælp af følgende kommando.

$ udevadm control --reload

Næste gang du slutter din eksterne harddisk eller en hvilken som helst enhed, du har konfigureret til systemet, skal alle dine dokumenter fra den angivne placering automatisk sikkerhedskopieres til den.

Bemærk: Hvor effektivt dette fungerer, kan blive påvirket af filsystemet på dine flytbare medier og de udev-regler, du skriver, især når du fanger enhedens attributter.

For flere oplysninger, se udev, mount og rsync man-siderne.

$ man udev
$ man mount 
$ man rsync 

Du kan også lide at læse disse følgende Linux-backuprelaterede artikler.

  1. rdiff-backup - Et Remote Incremental Backup Tool til Linux
  2. Tomb - Et værktøj til filkryptering og personlig sikkerhedskopiering til Linux
  3. Systemtjære og gendannelse - Et alsidigt backupscript til Linux
  4. Sådan oprettes båndbreddeffektive sikkerhedskopier ved hjælp af duplicitet i Linux
  5. Rsnapshot - Et lokalt/eksternt sikkerhedskopieringsværktøj til Linux
  6. Sådan synkroniseres to Apache-webservere/websteder ved hjælp af Rsync

Det er alt for nu! I denne artikel har vi forklaret, hvordan du automatisk sikkerhedskopierer data til et flytbart medie, når du har tilsluttet det til din Linux-maskine. Vi vil gerne høre fra dig via feedbackformularen nedenfor.