2010-11-15 38 views

Respuesta

6

que no lo hice yo mismo, pero se puede tratar udev reglas como esta:

# 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" 

colocarlo en /etc/udev/rules.d/90-local.rules o semejante lugar, sin duda fiable de su sistema operativo.

+0

¿Es posible usar UUID y eliminar todos los demás atributos? – Cascabel

+0

lo siento, no sé - esto está en mi propia lista de cosas pendientes :) –

2

Aquí está an example python deamon que podría utilizar para la parte de escucha, y luego copiar los archivos a su directorio no debería ser un problema.

18

Para referencia futura, a continuación se explica cómo ejecutar un script bash al detectar una unidad USB.

Conecta tu dispositivo y ejecuta lsusb para recuperar la información del dispositivo. Debería ver algo similar a esto:

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

En este caso, el ID de proveedor del dispositivo es 0bc2 y el identificador de producto es 2100.

Ahora usted puede crear su regla usando UDEV un editor de texto de su elección.

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

y añadir:

ACCIÓN == "add", el subsistema ==" USB", SYSFS {idVendor} == "0bc2", SYSFS {idProduct} == "2100", RUN + = "/ home/micarpetapersonal/my_script"

/home/myhome/my_script es la ruta de acceso al script que Haría lo que quisieras.

asegurarse de que el script de detección se ejecutará de inmediato, ejecute este comando para recargar las reglas Udev:

$ sudo de control udevadm --reload-reglas

Esto fue probado en Fedora 14.

+6

Lo usé con Crunchbang Linux 11 (waldorf) [basado en Debian], pero tuve que cambiar 'SYSFS' a 'ATTR' para obtener para que funcione Este chico publicó un buen método para depurar udev ... http://www.jpichon.net/blog/2011/12/debugging-udev-rules/ – neildaemond

Cuestiones relacionadas