UDEV usb remove Regel wird nicht ausgeführt

Probleme mit Samba, NFS, FTP und Co.
Antworten
RalfP
Beiträge: 19
Registriert: 26.11.2017 21:32:47

UDEV usb remove Regel wird nicht ausgeführt

Beitrag von RalfP » 07.12.2017 23:28:33

Hallo,

ich habe den c't-server-Bausatz am Laufen (debian 8.9, full-upgrade, tlp läuft, idle: 7,5 Watt). Als Backup-Lösung benutze ich eine USB-Platte, die ich abends anstecke, wenn ich möchte. Nachts läuft über cron-daily + rsync-Script das Backup. Das funktioniert alles.

Wenn ich morgens die Platte abziehe, soll ein umount das Device aushängen und das Verzeichnis löschen.
Jedoch greift die remove-Regel nicht. Habe oft gelesen, dass man hier die ENV Variablen nehmen muss.
Habe einige ausprobiert, keine greift.
Was übersehe ich?
Danke für eure Hilfe!

die UDEV-Regeln:

Code: Alles auswählen

root@srv:/# cat /etc/udev/rules.d/80-usbdevices.rules
KERNEL=="sd?1", SUBSYSTEMS=="usb", ATTRS{serial}=="575842314133314B37333939", ACTION=="add", RUN+="/bin/mkdir -p /media/usbbackup", RUN+="/bin/mount -o defaults,sync /dev/%k /media/usbbackup"
#SUBSYSTEMS=="usb", ENV{ID_VENDOR_ID}=="1058", ENV{ID_MODEL_ID}=="1023", ACTION=="remove", RUN+="/bin/umount /dev/%k", RUN+="/bin/rm -fd /media/usbbackup"
SUBSYSTEMS=="usb", ENV{PRODUCT}=="1058/1023/2005", ACTION=="remove", RUN+="/bin/umount /dev/%k", RUN+="/bin/rm -fd /media/usbbackup"
root@srv:/#
syslog vom Anstecker:

Code: Alles auswählen

Dec  7 22:45:14 srv kernel: [12643.797974] usb 1-4: new high-speed USB device number 13 using xhci_hcd
Dec  7 22:45:14 srv kernel: [12643.927592] usb 1-4: New USB device found, idVendor=1058, idProduct=1023
...
Dec  7 22:45:14 srv kernel: [12643.931455] scsi15 : usb-storage 1-4:1.0
Dec  7 22:45:15 srv tlp[5162,5161]: udev_usb.auto: Bus 1 Dev 13 ID 1058:1023 
...
Dec  7 22:45:15 srv kernel: [12644.982046]  sdc: sdc1
...
Dec  7 22:45:16 srv kernel: [12645.238932] EXT4-fs (sdc1): mounted filesystem with ordered data mode. Opts: (null)
udevadm beim Anstecken:

Code: Alles auswählen

root@srv:~# udevadm monitor --property -u
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing


UDEV  [12290.956908] add      /devices/pci0000:00/0000:00:14.0/usb1/1-4 (usb)
ACTION=add
...
ID_MODEL=Elements_1023
ID_MODEL_ENC=Elements\x201023
ID_MODEL_FROM_DATABASE=Elements SE
ID_MODEL_ID=1023
ID_REVISION=2005
...
PRODUCT=1058/1023/2005
SEQNUM=2165
SUBSYSTEM=usb
TYPE=0/0/0
USEC_INITIALIZED=290438132
remove:

Code: Alles auswählen


UDEV  [12435.521216] remove   /devices/pci0000:00/0000:00:14.0/usb1/1-4 (usb)
ACTION=remove
...
ID_MODEL=Elements_1023
ID_MODEL_ENC=Elements\x201023
ID_MODEL_FROM_DATABASE=Elements SE
ID_MODEL_ID=1023
ID_REVISION=2005
...
ID_VENDOR_ID=1058
...
PRODUCT=1058/1023/2005
SEQNUM=2190
SUBSYSTEM=usb
TYPE=0/0/0
USEC_INITIALIZED=290438132

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: UDEV usb remove Regel wird nicht ausgeführt

Beitrag von ThorstenS » 08.12.2017 09:15:00

warum kopierst du nicht die add-Regel und ersetzt die Action durch remove? Ich habe festgestellt, dass du auch einen KERNEL-Eintrag in der Zeile brauchst, sonst wird das Script mehrfach ausgeführt - hat bei „add” häßliche Effekte :facepalm:

Laß als Script erstmall logger laufen und schau dir beim an/abstecken die Logfiles mit tail -f an. Dann kannst du dich dem Problem Stück für Stück nähern.

BTW: der c't-server-Bausatz aus welcher Ausgabe?

Benutzeravatar
MSfree
Beiträge: 10686
Registriert: 25.09.2007 19:59:30

Re: UDEV usb remove Regel wird nicht ausgeführt

Beitrag von MSfree » 08.12.2017 09:22:24

Wenn ich morgens die Platte abziehe, soll ein umount das Device aushängen
:facepalm:

Erst unmounten, dann abziehen!

Mit anderen Worten, mit UDEV-Regeln läßt sich das nicht lösen, weil die erst greift, wenn das (gemountete) Gerät bereit nicht mehr existiert.

Dein Backup-Skript muß also nach dem Backup selbst für das Unmount sorgen, damit die Platte gefahrlos abgezogen werden kann.

RalfP
Beiträge: 19
Registriert: 26.11.2017 21:32:47

Re: UDEV usb remove Regel wird nicht ausgeführt

Beitrag von RalfP » 08.12.2017 13:33:43

ThorstenS hat geschrieben: ↑ zum Beitrag ↑
08.12.2017 09:15:00
warum kopierst du nicht die add-Regel und ersetzt die Action durch remove? Ich habe festgestellt, dass du auch einen KERNEL-Eintrag in der Zeile brauchst, sonst wird das Script mehrfach ausgeführt - hat bei „add” häßliche Effekte :facepalm:
Laß als Script erstmall logger laufen und schau dir beim an/abstecken die Logfiles mit tail -f an. Dann kannst du dich dem Problem Stück für Stück nähern.
ein kopieren funktioniert nicht.. wie bereits geschrieben, muss man ENV nehmen statt ATTRS, weil die bereits geleert sind nach dem Abziehen.
in dem Abziehen-Log von syslog steht sinngemäß lediglich: device entfernt.. keine Fehlermeldung, da die Regel nicht greift.
die anderen logs hatte ich auszugsweise aufgeführt, was brauchst du?
BTW: der c't-server-Bausatz aus welcher Ausgabe?
https://www.heise.de/ct/ausgabe/2016-8- ... 51451.html

RalfP
Beiträge: 19
Registriert: 26.11.2017 21:32:47

Re: UDEV usb remove Regel wird nicht ausgeführt

Beitrag von RalfP » 08.12.2017 13:40:16

MSfree hat geschrieben: ↑ zum Beitrag ↑
08.12.2017 09:22:24
Wenn ich morgens die Platte abziehe, soll ein umount das Device aushängen
:facepalm:

Erst unmounten, dann abziehen!

Mit anderen Worten, mit UDEV-Regeln läßt sich das nicht lösen, weil die erst greift, wenn das (gemountete) Gerät bereit nicht mehr existiert.

Dein Backup-Skript muß also nach dem Backup selbst für das Unmount sorgen, damit die Platte gefahrlos abgezogen werden kann.
Ja, ich weiß.. :roll:
irgendwas war da.. hatte irgendein Problem, dass ich den mount-Punkt im rsync-Script nicht feststellen konnte, oder so was..
Außerdem wollte ich morgens auch mal schauen, ob das Backup Erfolg hatte. Na gut,ich kann ja ab- und wieder anstecken.

Benutzeravatar
MSfree
Beiträge: 10686
Registriert: 25.09.2007 19:59:30

Re: UDEV usb remove Regel wird nicht ausgeführt

Beitrag von MSfree » 08.12.2017 15:01:27

RalfP hat geschrieben: ↑ zum Beitrag ↑
08.12.2017 13:40:16
Na gut,ich kann ja ab- und wieder anstecken.
Nein, das ist alles andere als empfehlendswert. Mit dem umount wird auch das Dateisystem abgeschlossen und eventuell noch zu schreibende Verwaltungdaten rausgeschrieben. Wenn du die Platte einfach rausreißt, kann dein Dateisystem auf der USB-Platte irreparablen Schaden nehmen und das Backup wäre für die Katz.

Man sollte nie einen Datenträger ohne umount abziehen!

RalfP
Beiträge: 19
Registriert: 26.11.2017 21:32:47

[gelöst] Re: UDEV usb remove Regel wird nicht ausgeführt

Beitrag von RalfP » 08.12.2017 18:41:26

habe umount und rmdir ans Ende des Scripts geschrieben, funktioniert
Danke!

Antworten