Linux

插入磁碟時執行命令(Linux)

  • June 7, 2009

我想在 Linux 下插入驅動器(例如,包括 USB 驅動器)時自動執行我自己的命令。顯然,最簡單的解決方案是定期輪詢並檢查 /proc/partitions 或 /dev/disk 的更改,但我希望有比這更優雅的東西。

編輯

我知道這是可能的,因為 GNOME 就是這樣做的;每當插入新驅動器時,GNOME 都會執行它自己的“自動播放”機制來採取一些行動。(“您想查看這張 SD 卡上的圖片嗎? ”)

我可以為此提出兩種用途:第一種是在我管理的 Amazon EC2 集群中,用於自動檢測和初始化新附加的 EBS 儲存卷。

另一種用法是在基於 Linux 的家庭文件伺服器設備上。當我將 SD 卡插入設備時,它應該安裝卡,將卡中的圖片移動到內部硬碟驅動器上,解除安裝卡,然後發出嗶聲讓我知道它已完成。

Udev 規則是您正在尋找的。從手冊頁本身:

… 如果 udev 收到設備事件,它會將其配置的規則與 sysfs 中提供的可用設備屬性進行匹配,以辨識設備。匹配的規則可以提供附加設備資訊或指定設備節點名稱和多個符號連結名稱,並指示 udev 執行附加程序作為設備事件處理的一部分。…

強調我的。

規則文件在 /etc/udev/rules.d/ 中,它們的文件在 udev(7) 中。哦,它們幾乎適用於所有事情。

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