Forum Programmation.shell Probleme avec Regle udev et insertion HDD externe

Posté par  .
Étiquettes : aucune
0
27
mar.
2008
Bonjour à tous,

C'est mon premier post ici ^^ ça se fete :D
Je fais face à un probleme avec udev. Je cherche à créer une regle qui fasse ceci :

Au moment ou j'insere mon disque dur externe :
- le numero de serie doit etre egal à celui que j'ai spécifié pour lancer la suite
- Il doit me créer mes fichiers dans /dev selon un nommage bien précis (là je ne sais pas vraiment si c'est possible mais sur 4 partoches en fait je n'en ai besoin que d'une et je ne sais pas si on peut directement la cibler)
- Seulement une fois que ces fichiers sont créés, il doit me lancer un script bash.

Aujourd'hui j'ai créé deux regles qui me font ça sauf que la premiere réalise bien les deux premiers points et la deuxieme réalise le troisieme mais trop tot ! il n'attend pas que ces fichiers soient créés. Donc forcement, dans mon script quand j'essaye de monter /dev/monusb3, il ne le trouve pas.

Bref, voici mes deux regles (ah et j'ai été obligé d'en faire deux car si je met le lancement du script dans la premiere regle, il me le lance je ne sais combien de fois !)

Regle 1:
SUBSYSTEMS=="usb", SYSFS{serial}=="RD53900362002", NAME="backupUsb%n"


Regle 2:
SUBSYSTEM=="usb", ATTR{serial}=="RD53900362002", RUN+="/backup.sh"


J'espere pouvoir trouver de l'aide car j'ai beau RTFM, Googliser.... je ne trouve pas quelque chose qui ressemble à mon cas (regles avec plusieurs criteres bien précis, en général c'est seulement un critere tout bete)

Merci d'avance
@ bientot
  • # Quelques pistes

    Posté par  . Évalué à 3.

    Bonjour,

    Tel que je voie les choses, je pense que:
    - s'il lance ton script trops tôt, c'est parceque tu as deux règles, donc il parrallélise;
    - le fait que dans le cas d'une seule règle il lance plusieurs fois le script doit être un bug, peut-être faut il le remonter au développeur? (d'autant qu'il me semble en avoir déjà entendu parler dans ces forums...);
    - la solution temporaire pourrait consister à mettre un sleep 1 au début de ton script... beurk, mais bon... (délai à adapter);
    - un autre patch pourrais consister à mettre un lock (man lockfile) au début de ton script, à quitter si il existe déjà, et à ne le supprimer à la fin qu'àpres un délai (man sleep ;-) ) (cela permet une réaction plus rapide).

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.