Hallo zusammen,
bis vor kurzem hatte ich ein funktionierendes udev Script das bestimmte Dateien auf eine externe HDD kopiert hat, sobald diese angeschlossen wurde. Mittlerweile habe ich eine 2te HDD, die ich auf die selbe Art nutzen möchte. In der ursprünglichen Version wurden die Partitionen der Platte automatisch über die Block-Device Namen bzw. die entsprechenden fstab Einträge z.B. /dev/sdd1 eingemountet. Durch die 2te platte habe ich nun allerdings das Problem, daß je nach Einschaltreihenfolge die Platten unterschiedliche Device-Namen erhalten. Gelöst habe ich das Problem, indem ich die Partitionen benamt habe und nun über "/dev/disk/by-label/..." mounte. Manuell klappt das auch prima leider ist udev nun zu schnell, sodass die Scripte nicht mehr korrekt ausgeführt werden. Die udev Regel grift nämlich sofort wenn die Platte erkannt wird, aber noch bevor die Partitionen mit Label erkannt werden. In dem moment indem das Kopierscript also die Zielpartition mounten möchte, gibt es einen Fehler (der "/dev/disk/by-label/"-Eintrag existier noch nicht). Meine Idee das mit einer kurzen Warteperiode zu lösen schlug leider fehl, weil die Partitionen solange nicht erkannt werden bis die udev-Regel und das zugeordnete Script fertig abgearbeitet wurden. Kennt irgendjemand einen Weg udev-Regeln so anzupassen, daß sie erst nachdem die Partitionen erkannt wurden greifen und nicht bereits vorher?
Hier eine der Beispielregeln die zu früh reagiert:
Ich vermute ich muss KERNEL/SUBSYSTEM durch andere Attribute ersetzen.
bis vor kurzem hatte ich ein funktionierendes udev Script das bestimmte Dateien auf eine externe HDD kopiert hat, sobald diese angeschlossen wurde. Mittlerweile habe ich eine 2te HDD, die ich auf die selbe Art nutzen möchte. In der ursprünglichen Version wurden die Partitionen der Platte automatisch über die Block-Device Namen bzw. die entsprechenden fstab Einträge z.B. /dev/sdd1 eingemountet. Durch die 2te platte habe ich nun allerdings das Problem, daß je nach Einschaltreihenfolge die Platten unterschiedliche Device-Namen erhalten. Gelöst habe ich das Problem, indem ich die Partitionen benamt habe und nun über "/dev/disk/by-label/..." mounte. Manuell klappt das auch prima leider ist udev nun zu schnell, sodass die Scripte nicht mehr korrekt ausgeführt werden. Die udev Regel grift nämlich sofort wenn die Platte erkannt wird, aber noch bevor die Partitionen mit Label erkannt werden. In dem moment indem das Kopierscript also die Zielpartition mounten möchte, gibt es einen Fehler (der "/dev/disk/by-label/"-Eintrag existier noch nicht). Meine Idee das mit einer kurzen Warteperiode zu lösen schlug leider fehl, weil die Partitionen solange nicht erkannt werden bis die udev-Regel und das zugeordnete Script fertig abgearbeitet wurden. Kennt irgendjemand einen Weg udev-Regeln so anzupassen, daß sie erst nachdem die Partitionen erkannt wurden greifen und nicht bereits vorher?
Hier eine der Beispielregeln die zu früh reagiert:
Code:
KERNEL=="1-5", SUBSYSTEM=="usb", ATTR{serial}=="<Some Serial Number Here>", ACTION=="add", ENV{ID_FS_LABEL}=="backup_home" RUN+="<some script>"
Ich vermute ich muss KERNEL/SUBSYSTEM durch andere Attribute ersetzen.