Vyhledávání na webu

Jak automaticky zálohovat soubory na USB médium při připojení


Záloha je poslední obranou proti ztrátě dat a nabízí prostředek k obnovení původních dat. K zálohování dat můžete použít buď vyměnitelné médium, jako je externí pevný disk nebo USB flash disk nebo sdílenou síťovou složku, nebo vzdáleného hostitele. Je velmi snadné (a stejně důležité) automaticky zálohovat důležité soubory, aniž byste si to museli pamatovat.

Přečtěte si také: 24 vynikajících zálohovacích nástrojů pro systémy Linux v roce 2018

V tomto článku se naučíme, jak automaticky zálohovat data na vyměnitelné médium po jeho připojení k počítači se systémem Linux. Testovat budeme s externím diskem. Toto je základní průvodce, který vám pomůže začít používat udev pro reálná řešení.

Pro účely tohoto článku potřebujeme moderní systém Linux s:

  1. systemd správce systémů a služeb
  2. správce zařízení udev
  3. zálohovací nástroj rsync

Jak nakonfigurovat pravidla Udev pro vyměnitelná média

Udev je správce zařízení, který vám umožňuje definovat pravidla, která mohou mimo jiné spouštět spuštění programu nebo skriptu, když je zařízení přidáno do běžícího systému nebo z něj odebráno, jako součást zpracování událostí zařízení . Tuto funkci můžeme použít ke spuštění zálohovacího skriptu po přidání vyměnitelného média do běžícího systému.

Než nakonfigurujeme skutečné pravidlo pro zpracování událostí zařízení, musíme poskytnout udev některé atributy vyměnitelného média, které bude použito pro zálohování. Připojte externí disk k běžícímu systému a spusťte následující příkaz lsusb k identifikaci jeho dodavatele a ID produktu.

Pro účely testování použijeme 1TB externí pevný disk, jak je znázorněno.

lsusb

Z výstupu výše uvedeného příkazu je naše ID dodavatele zařízení 125f, které uvedeme v pravidlech udev, jak je vysvětleno níže.

Nejprve odstraňte připojená média ze systému a vytvořte nový soubor pravidel udev s názvem 10.autobackup.rules v adresáři /etc/udev/rules.d/.

10 v názvu souboru určuje pořadí provádění pravidel. Pořadí, ve kterém jsou pravidla analyzována, je důležité; vždy byste měli vytvořit vlastní pravidla, která budou analyzována před výchozími hodnotami.

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

Poté do něj přidejte následující pravidlo:

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

Pojďme si stručně vysvětlit výše uvedené pravidlo:

  • "==": je operátor pro porovnání rovnosti.
  • "+=": je operátor pro přidání hodnoty do klíče, který obsahuje seznam položek.
  • SUBSYSTÉM: odpovídá podsystému zařízení události.
  • AKCE: odpovídá názvu akce události.
  • ATTRS{idVendor}: odpovídá hodnotám atributu sysfs zařízení události, což je ID dodavatele zařízení.
  • RUN: Určuje program nebo skript, který se má spustit jako součást zpracování události.

Uložte soubor a zavřete jej.

Vytvořte skript automatického zálohování

Nyní vytvořte skript automatického zálohování, který po připojení k systému automaticky zálohuje soubory na vyměnitelné USB.

sudo vim /bin/autobackup.sh 

Nyní zkopírujte a vložte následující skript, ujistěte se, že jste ve skriptu nahradili hodnoty BACKUP_SOURCE, BACKUP_DEVICE, a 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

Poté udělejte skript spustitelný pomocí následujícího příkazu.

sudo chmod +x /bin/autobackup.sh

Poté znovu načtěte pravidla udev pomocí následujícího příkazu.

udevadm control --reload

Při příštím připojení externího pevného disku nebo jakéhokoli zařízení, které jste nakonfigurovali k systému, by se na něj měly automaticky zálohovat všechny vaše dokumenty ze zadaného umístění.

Poznámka: Jak efektivně to funguje, může být ovlivněno souborovým systémem na vašem vyměnitelném médiu a pravidly udev, která píšete, zejména zachycováním atributů zařízení.

Další informace naleznete na manuálových stránkách udev, mount a rsync.

man udev
man mount 
man rsync 

Můžete si také přečíst následující články týkající se zálohování Linuxu.

  1. rdiff-backup – Nástroj pro vzdálené přírůstkové zálohování pro Linux
  2. Tomb – Nástroj pro šifrování souborů a osobní zálohování pro Linux
  3. System Tar and Restore – univerzální skript pro zálohování pro Linux
  4. Jak vytvářet zálohy s efektivní šířkou pásma pomocí duplicity v Linuxu
  5. Rsnapshot – Nástroj pro místní/vzdálené zálohování pro Linux
  6. Jak synchronizovat dva webové servery/weby Apache pomocí Rsync

To je prozatím vše! V tomto článku jsme vysvětlili, jak automaticky zálohovat data na vyměnitelné médium po jeho připojení k počítači se systémem Linux. Rádi bychom od vás slyšeli prostřednictvím formuláře pro zpětnou vazbu níže.