Есть ли сценарий и / или демон Bash, который я могу написать, который обнаружит конкретный USB-накопитель и затем синхронизирует этот накопитель с каталогом?
Сценарий Bash для определения, когда мой USB подключен, а затем для его синхронизации с каталогом.
Ответы (3)
Для справки в будущем, вот как запустить сценарий bash при обнаружении USB-накопителя.
Подключите свое устройство и запустите lsusb
, чтобы получить информацию об устройстве. Вы должны увидеть что-то похожее на это:
$ lsusb Bus 002 Device 039: ID 0bc2:2100 Seagate RSS LLC
В этом случае идентификатор производителя устройства - 0bc2, а идентификатор продукта - 2100.
Теперь вы можете создать свое правило UDEV с помощью любого текстового редактора.
$ sudo vi /etc/udev/rules.d/85-my_usb_device_rule.rules
И добавьте это:
ACTION == "добавить", SUBSYSTEM == "usb", SYSFS {idVendor} == "0bc2", SYSFS {idProduct} == "2100", RUN + = "/ home / myhome / my_script"
/home/myhome/my_script
- это путь к вашему скрипту, который будет делать все, что вы хотите.
Чтобы убедиться, что сценарий обнаружения запустится сразу, запустите эту команду, чтобы перезагрузить правила UDEV:
$ sudo udevadm control --reload-rules
Это было протестировано на Fedora 14.
Сам я этого не делал, но вы можете попробовать udev
такие правила:
# Hitachi SimpleDrive mini, model HTS545050B9A300 (500 GB USB HDD)
SUBSYSTEM=="block", ATTR{size}=="976768002", ATTRS{product}=="SimpleDrive mini", ATTRS{serial}=="2512009121920487", ACTION=="add", RUN+="/lib/udev/local.usb.hdd.sh add $devpath"
Поместите его в /etc/udev/rules.d/90-local.rules
или аналогичное место, безусловно, в зависимости от вашей ОС.