milch's shitty blog

random crap

autobackup mit udev

Heute wollte ich meine wichtigsten daten sichern, also sowas wie die passwortdatenbank, die config + keys von ssh, die config + keys von gpg, firefox inklusive allem, mails etc. also insgesamt keine grossen datenmengen aber welche wos richtig weh tut wenn sie weg sind. das normale backup sichert das zwar mit aber so richtig toll ist das nicht, weil ich nicht jedes mal ein volles backup starten will ausser der reihe nur weil sich mal ein PW geaendert hat. es musst also was zusaetzliches her.

Ich verwende jetzt also einen kleinen 2GB USB-Stick der mit luks gecryptet wurde. der plan war dass das backup startet sobald der stick angesteckt wird und selbigen dann auch gleich wieder unmountet. nun ja… hoert sich an udev an, oder? japp!

das zugehoerige stueck udev sieht so aus und wird unter ubuntu inzwischen unter /lib/udev/rules.d gesichert:

KERNEL=="sd?1",ACTION=="add", SUBSYSTEMS=="usb", ATTRS{serial}=="07781C0A01F8", RUN+="/root/secback.sh %k"

da passiert ja nix weiter interessantes wie man so sieht, ausser dass da direkt nach der seriennummer gesucht wird und damit nur bei diesem stick das script ausgefuehrt wird. das %k uebergibt dem skript den namen der partition (z.B. sdb1 falls der stick under /dev/sdb1 auftaucht). das ist also alles ganz toll, in dem skript wird dann einfach der stick gemountet, danach die daten kopiert und dann den stick unmounten, fertich.

die attribute kann man natuerlich auch aendern, nicht jeder wird die gleiche seriennummer haben wie meine sticks. dabei hilft folgendes command:

udevadm info -a -p $(udevadm info -q path -n /dev/sdX)

das X sollte man durch die richtige bezeichnung ersetzen. falls man viele sticks angeschlossen hat und nicht sicher ist welcher denn nun eigentlich welcher ist helfen dmesg und blkid (als root) gerne weiter.

inspiration gabs hier:
http://bernaerts.dyndns.org/linux/54-debian-udev-backup
http://www.bitblokes.de/2012/02/automatische-datensicherung-backup-script-mit-rsync-bei-einstecken-einer-externen-festplatte/

Tags: , ,