是否有可以编写的Bash脚本和/或守护程序可以检测特定的USB驱动器,然后将该驱动器与目录同步?
答案 0 :(得分:20)
以供参考,以下是检测到USB驱动器时如何运行bash脚本。
连接您的设备并运行lsusb
以检索设备的信息。你应该看到类似的东西:
$ lsusb Bus 002 Device 039: ID 0bc2:2100 Seagate RSS LLC
在这种情况下,设备的供应商ID为0bc2,产品ID为2100.
现在,您可以使用您选择的文本编辑器创建UDEV规则。
$ sudo vi /etc/udev/rules.d/85-my_usb_device_rule.rules
并添加:
ACTION ==“add”,SUBSYSTEM ==“usb”,SYSFS {idVendor} ==“0bc2”, SYSFS {idProduct} ==“2100”,RUN + =“/ home / myhome / my_script”
/home/myhome/my_script
是你的脚本的路径,无论你想做什么都可以。
要确保检测脚本立即执行,请运行此命令重新加载UDEV规则:
$ sudo udevadm control --reload-rules
这是在Fedora 14上测试的。
答案 1 :(得分:6)
我自己没有这样做,但您可以尝试udev
这样的规则:
# 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"
将其放在/etc/udev/rules.d/90-local.rules
或类似的地方,当然可以依赖您的操作系统。
答案 2 :(得分:2)
这是你可以用于监听部分的an example python守护进程,然后将文件复制到你的目录应该不是问题。