Zoeken op website

Hoe u automatisch een back-up kunt maken van bestanden op USB-media wanneer deze zijn aangesloten


Een back-up is de laatste verdediging tegen gegevensverlies en biedt een manier om originele gegevens te herstellen. U kunt een verwisselbaar medium gebruiken, zoals een externe harde schijf of USB-flashschijf of een gedeelde netwerkmap, of een externe host om een back-up van uw gegevens te maken. Het is heel gemakkelijk (en net zo essentieel) om automatisch een back-up te maken van uw belangrijke bestanden, zonder dat u dit hoeft te onthouden.

Lees ook: 24 uitstekende back-uptools voor Linux-systemen in 2018

In dit artikel leren we hoe u automatisch een back-up kunt maken van gegevens naar verwisselbare media nadat u deze op uw Linux-machine hebt aangesloten. We zullen testen met een externe schijf. Dit is een basisgids om u op weg te helpen met het gebruik van udev voor oplossingen in de praktijk.

Voor de doeleinden van dit artikel hebben we een modern Linux-systeem nodig met:

  1. systemd systeem- en servicebeheerder
  2. udev-apparaatbeheer
  3. rsync back-uptool

Hoe Udev-regels voor verwisselbare media configureren

Udev is een apparaatbeheerder waarmee u regels kunt definiëren die onder andere de uitvoering van een programma of script kunnen activeren wanneer een apparaat wordt toegevoegd aan of verwijderd uit een actief systeem, als onderdeel van de afhandeling van apparaatgebeurtenissen . We kunnen deze functie gebruiken om een back-upscript uit te voeren nadat verwijderbare media aan het actieve systeem zijn toegevoegd.

Voordat we de daadwerkelijke regel voor de afhandeling van apparaatgebeurtenissen configureren, moeten we udev een aantal kenmerken opgeven van de verwisselbare media die voor de back-up zullen worden gebruikt. Sluit de externe schijf aan op het actieve systeem en voer de volgende lsusb-opdracht uit om de leverancier en product-ID ervan te identificeren.

Voor testdoeleinden gebruiken we een externe harde schijf van 1TB, zoals weergegeven.

lsusb

Uit de uitvoer van het bovenstaande commando blijkt dat onze apparaatleverancier-ID 125f is, wat we zullen specificeren in de udev-regels, zoals hieronder uitgelegd.

Verwijder eerst de aangesloten media uit het systeem en maak een nieuw udev-regelsbestand met de naam 10.autobackup.rules in de map /etc/udev/rules.d/.

De 10 in de bestandsnaam specificeert de volgorde waarin de regels worden uitgevoerd. De volgorde waarin regels worden ontleed is belangrijk; u moet altijd aangepaste regels maken die vóór de standaardwaarden moeten worden geparseerd.

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

Voeg er dan de volgende regel aan toe:

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

Laten we de bovenstaande regel kort uitleggen:

  • "==": is een operator om te vergelijken op gelijkheid.
  • "+=": is een operator om de waarde toe te voegen aan een sleutel die een lijst met vermeldingen bevat.
  • SUBSYSTEEM: komt overeen met het subsysteem van het gebeurtenisapparaat.
  • ACTIE: komt overeen met de naam van de evenementactie.
  • ATTRS{idVendor: komt overeen met de sysfs-attribuutwaarden van het gebeurtenisapparaat, wat de leverancier-ID van het apparaat is.
  • RUN: specificeert een programma of script dat moet worden uitgevoerd als onderdeel van de gebeurtenisafhandeling.

Sla het bestand op en sluit het.

Maak een automatisch back-upscript

Maak nu een automatisch back-upscript dat automatisch een back-up van bestanden maakt naar een verwisselbare USB wanneer deze op het systeem is aangesloten.

sudo vim /bin/autobackup.sh 

Kopieer en plak nu het volgende script. Zorg ervoor dat u de waarden van BACKUP_SOURCE, BACKUP_DEVICE, en MOUNT_POINT in het script vervangt.

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

Maak het script vervolgens uitvoerbaar met de volgende opdracht.

sudo chmod +x /bin/autobackup.sh

Laad vervolgens de udev-regels opnieuw met behulp van de volgende opdracht.

udevadm control --reload

De volgende keer dat u uw externe harde schijf of welk apparaat dan ook op het systeem aansluit, moet er automatisch een back-up van al uw documenten vanaf de opgegeven locatie worden gemaakt.

Opmerking: Hoe effectief dit werkt, kan worden beïnvloed door het bestandssysteem op uw verwisselbare media en de udev-regels die u schrijft, vooral het vastleggen van de apparaatkenmerken.

Voor meer informatie, zie de manpagina's udev, mount en rsync.

man udev
man mount 
man rsync 

Misschien wilt u ook deze volgende Linux-back-upgerelateerde artikelen lezen.

  1. rdiff-backup - Een externe incrementele back-uptool voor Linux
  2. Tomb - Een hulpmiddel voor bestandscodering en persoonlijke back-up voor Linux
  3. Systeemtar en herstel - Een veelzijdig back-upscript voor Linux
  4. Hoe bandbreedte-efficiënte back-ups te maken met behulp van Duplicity in Linux
  5. Rsnapshot – Een lokale/externe back-uptool voor Linux
  6. Hoe twee Apache-webservers/websites te synchroniseren met Rsync

Dat is het voor nu! In dit artikel hebben we uitgelegd hoe u automatisch een back-up van gegevens kunt maken naar verwisselbare media nadat u deze op uw Linux-machine hebt aangesloten. Wij horen graag van u via onderstaand feedbackformulier.