2010-11-15 21 views

Répondre

6

Je ne le fais pas moi-même, mais vous pouvez essayer udev règles comme celle-ci:

# Hitachi SimpleDrive mini, model HTS545050B9A300 (500 GB USB HDD) 
SUBSYSTEM=="block", ATTR{size}=="976768002", ATTRS{product}=="SimpleDrive mini", ATTRS{serial}=="2512009121920487", ACTION=="add", RUN+="/lib/udev/local.usb.hdd.sh add $devpath" 

Placez-le dans /etc/udev/rules.d/90-local.rules ou lieu semblable, certainement fiable sur votre système d'exploitation.

+0

Est-il possible d'utiliser UUID et de supprimer tout le reste de ces attributs? – Cascabel

+0

désolé, je ne sais pas - ceci est sur ma propre liste todo encore :) –

2

Voici an example python deamon que vous pourriez utiliser pour la partie écoute, puis copier les fichiers dans votre répertoire ne devrait pas poser de problème.

18

Pour référence ultérieure, voici comment exécuter un script bash lors de la détection d'une clé USB.

Connectez votre appareil et exécutez lsusb pour récupérer les informations sur l'appareil. Vous devriez voir quelque chose de similaire à ceci:

$ lsusb 
Bus 002 Device 039: ID 0bc2:2100 Seagate RSS LLC 

Dans ce cas, le vendeur ID de l'appareil est 0bc2 et l'ID de produit est 2100.

Maintenant, vous pouvez créer votre règle udev en un éditeur de texte de votre choix.

$ sudo vi /etc/udev/rules.d/85-my_usb_device_rule.rules

Et ajoutez ceci:

ACTION == "ajouter", SUBSYSTEM == » usb », SYSFS {} idVendor == "0bc2", SYSFS {idProduct} == "2100", RUN + = "/ home/myhome/my_script"

/home/myhome/my_script est le chemin de votre script qui ça ferait ce que tu veux.

pour vérifier que le script de détection exécutera tout de suite, exécutez cette commande pour recharger les règles udev:

$ règles --reload-contrôle sudo udevadm

Cela a été testé sur Fedora 14.

+6

Je l'ai utilisé avec Crunchbang Linux 11 (waldorf) [basé sur Debian], mais j'ai dû changer 'SYSFS' en 'ATTR' pour obtenir pour travailler. Ce gars a posté une bonne méthode de débogage udev ... http://www.jpichon.net/blog/2011/12/debugging-udev-rules/ – neildaemond