Linux

Linux (Ubuntu) 在 USB 掛載時執行腳本

  • October 15, 2009

我有一個帶有外部 USB 硬碟驅動器的 Ubuntu 伺服器。

我基本上只想在插入硬碟驅動器時執行一個腳本。

實現這一目標的最佳方法是什麼?

您可以為您的特定設備添加一個 udev 規則——為此,創建一個名為 /etc/udev/010custom.rules 的文件(或類似的東西;只要確保它在數字上是目錄中最小的)。文件內容將是:

BUS="usb", SYSFS{idVendor}="**IDVENDOR**", SYSFS{product}="**PRODUCT**", NAME="usb/%k", SYMLINK="DEVICE"
RUN+="/path/to/your/script"

將粗體關鍵字替換為您設備的值lsusb

匯流排 005 設備 002:ID 0b05:b700 ASUSTek Computer, Inc. Broadcom 藍牙 2.1

上面的第一個粗體欄位是 IDVENDOR,第二個粗體欄位是 PRODUCT。

至於DEVICE,這個可以自己定義;它將創建一個 /dev/ 節點,該節點是任何符合上述條件的設備的符號連結(因此,如果您將 foobar 作為 SYMLINK,udev 將創建一個 /dev/foobar,它是您的 USB 設備的符號連結)。

**注意:**我自己沒有嘗試過,因為我沒有任何可移動的 USB 設備,但它應該可以工作。如果您有任何問題,請查看 udev 文件以了解規則。

引用自:https://serverfault.com/questions/74593