Linux (Ubuntu) запускает скрипт при подключении через USB

У меня есть сервер Ubuntu с внешним жестким диском USB.

Я просто хочу запускать скрипт всякий раз, когда подключен жесткий диск.

Каков был бы оптимальный способ достичь этого?

2 ответа

Решение

Вы можете добавить правило 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 Bluetooth 2.1

Первое поле, выделенное жирным шрифтом, это IDVENDOR, а второе поле, выделенное жирным шрифтом, - PRODUCT.

Что касается УСТРОЙСТВА, вы можете определить это самостоятельно; он создаст /dev/ node, который является символической ссылкой на любое устройство, которое соответствует вышеуказанным критериям (поэтому, если вы поместите foobar в качестве SYMLINK, udev создаст /dev/foobar, который является символической ссылкой на ваше USB-устройство).

Примечание: я сам не пробовал, поскольку у меня нет съемных USB-устройств, но это должно работать. Если у вас есть какие-либо проблемы, проверьте документацию udev для правил.

Вполне вероятно, что вы захотите посмотреть на udev, К сожалению, вы только что стали свидетелями того, как я исчерпал мои знания об этом.

Другие вопросы по тегам