2010-11-15 16 views

cevap

6

kendim yapmadım ama böyle udev kuralları deneyebilirsiniz:

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

Yeri o /etc/udev/rules.d/90-local.rules veya benzeri bir yerde, senin OS kesinlikle güvenilir de.

+0

UUID kullanmak ve bu özelliklerin geri kalanını ortadan kaldırmak mümkün mü? – Cascabel

+0

üzgünüm, bilmiyorum - bu benim kendi yapılacaklar listemde henüz yok :) –

2

Dinleme bölümü için kullanabileceğiniz an example python deamon, sonra dosyaları dizine kopyalamak bir sorun olmamalıdır.

18

Gelecekte başvurmak için, bir USB sürücüsünün algılanması üzerine bir bash komut dosyasının nasıl çalıştırılacağı burada açıklanmıştır. Aygıtın bilgilerini almak için cihazınızı bağlayın ve lsusb'u çalıştırın. Buna benzer bir şey görmelisiniz: Bu durumda

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

, cihazın satıcı kimliği 0bc2 ve ürün kimliği Artık kullanarak udev kuralı oluşturabilirsiniz 2100.

olduğunu Seçtiğiniz bir metin editörü.

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

Ve bu ekleyin:

EYLEM ==, alt sistemi "add" ==" usb", sysfs {idVendor} == "0bc2", sysfs {idProduct} == "2100", RUN + = "/ home/myhome/my_script"

/home/myhome/my_script betiğinize yolu olan ne istersen yapardı. Bu Fedora üzerinde test edildi

$ sudo udevadm kontrol --reload-kurallar:

algılama komut, hemen yürütmek udev kuralları yeniden yüklemek için bu komutu çalıştırmak emin olmak için 14.

+6

Bunu Crunchbang Linux 11 (waldorf) [debian based] ile kullandım, ancak 'SYSFS'yi' ATTR 'olarak değiştirmek zorundaydım çalışmak. Bu adam udev hata ayıklama için iyi bir yöntem gönderdi ... http://www.jpichon.net/blog/2011/12/debugging-udev-rules/ – neildaemond