Linux (Ubuntu) 在 USB 安装时运行脚本

h3.*_*h3. 3 scripting linux ubuntu mount usb

我有一个带有外部 USB 硬盘驱动器的 Ubuntu 服务器。

我基本上只想在插入硬盘驱动器时运行脚本。

实现这一目标的最佳方法是什么?

Mic*_*ega 12

您可以为您的特定设备添加一个 udev 规则——为此,创建一个名为 /etc/udev/010custom.rules 的文件(或类似的文件;只需确保在数字上它是目录中最小的)。文件内容将是:

BUS="usb", SYSFS{idVendor}="**IDVENDOR**", SYSFS{product}="**PRODUCT**", NAME="usb/%k", SYMLINK="DEVICE"
RUN+="/path/to/your/script"
Run Code Online (Sandbox Code Playgroud)

用您的设备的值替换粗体关键字lsusb

总线 005 设备 002: ID 0b05 :b700 ASUSTek Computer, Inc. Broadcom Bluetooth 2.1

上面的第一个粗体字段是 IDVENDOR,第二个粗体字段是 PRODUCT。

至于DEVICE,你可以自己定义;它将创建一个 /dev/ 节点,它是任何符合上述条件的设备的符号链接(因此,如果您将 foobar 作为 SYMLINK,udev 将创建一个 /dev/foobar,它是您的 USB 设备的符号链接)。

注意:我自己没有尝试过,因为我没有任何可移动的 USB 设备,但它应该可以工作。如果您有任何问题,请查看 udev 文档以了解规则。