Linux
Linux (Ubuntu) 在 USB 掛載時執行腳本
我有一個帶有外部 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 文件以了解規則。