Правила UDEV Interfere

Я работаю над Raspian OS (Linux) для Raspberry Pi 3. Я пытаюсь сделать простую задачу, скажем, когда я подключаю любой USB к порту, он должен скопировать данные из определенного места на USB и очистить файл в этом месте , Вот мой скрипт (testscript.sh),

#gpio 1 and 0 are for led on/off while copying gpio -g mode 17 out gpio -g write 17 1 sleep 10 sudo cp -f /home/pi/NewLog.log /media/usb/NewLog-$(date -u'+%Y%m%d%H%M').log if [ $? -eq 0 ]; then echo -n > /home/pi/NewLog.log fi gpio -g write 17 0 echo "content copied to USB" 

Я создал правило UDEV в файле /etc/udev/rules.d

KERNEL == "sd *", SUBSYSTEMS == "usb", ACTION == "add", RUN + = "/ home / pi / testscript.sh"

Я также установил usbmount, так что USB автомонтирует в / media / usb папку Я также нашел usbmount.rules в /lib/udev/rules.d

Теперь каждый раз, когда я подключаю USB, он копирует пустой файл на USB, а после отсоединения USB настоящий скопированный файл находится в папке location / media / usb …

Я предполагаю, что правило в /etc/udev/rules.d/myrule выполняется перед /lib/udev/rules.d/usbmount, возможно, именно поэтому оно копирует данные в / media / usb перед установкой USB! Любая помощь будет высоко ценится

One Solution collect form web for “Правила UDEV Interfere”

Вероятно, вы можете проверить, что каталог является точкой монтирования (в соответствии с этим ответом) перед копированием чего-либо. Я бы поставил чек в бесконечный цикл, но я не думаю, что это очень ортодоксально, так как он может зависать.

  • ttyUSBx восстанавливается до x> 255 и останавливается
  • Использование USB-интерметателя через Android-телефон
  • постоянное имя сетевого интерфейса и kvm
  • RHEL 5.5 - Необходимость обновления / dev / disk / by-label links
  • Udev (197) last_rule не работает
  • Как я могу изменить разрешения в / sys, чтобы изменить состояние светодиода / света с помощью `udev`?
  • udev клавиатура переназначения с hwdb для дополнительных клавиатур
  • Повторный заказ последовательных портов на многопортовой карте
  • Udev- Как узнать, к какой подсистеме принадлежит устройство?
  • Привязка к системным устройствам подключенных устройств Bluetooth
  • Где указано имя устройства по умолчанию (например, / dev / ttyUSBx)?
  • Linux и Unix - лучшая ОС в мире.