【发布时间】:2011-05-10 12:24:21
【问题描述】:
是否有我可以编写的 Bash 脚本和/或守护程序来检测特定的 USB 驱动器,然后将该驱动器与目录同步?
【问题讨论】:
是否有我可以编写的 Bash 脚本和/或守护程序来检测特定的 USB 驱动器,然后将该驱动器与目录同步?
【问题讨论】:
为了将来参考,下面是如何在检测到 USB 驱动器时运行 bash 脚本。
连接您的设备并运行lsusb 以检索设备的信息。您应该会看到类似这样的内容:
$ lsusb Bus 002 Device 039: ID 0bc2:2100 Seagate RSS LLC
本例中,设备的vendor ID为0bc2,product 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 控制 --reload-rules
这是在 Fedora 14 上测试的。
【讨论】:
不是我自己做的,你可以试试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 或类似的地方,当然取决于你的操作系统。
【讨论】:
这里是an example python 守护程序,您可以将其用于侦听部分,然后将文件复制到您的目录应该不成问题。
【讨论】: