USB sync via udev?

2

Estou bastante desesperado depois de várias tentativas de criar um programa de backup bastante simples. Após 6 horas de acompanhamento e tentando todas as postagens sobre esse tópico, não conheço nenhuma solução. Eu só quero um script java para começar assim que eu ligar uma unidade USB.

sudoedit /etc/udev/rules.d/90-local.rules

Em minhas regras locais, basicamente, apenas quero executar meu shell SUPERJAVA Eu já tentei todo tipo de combinações ATTRS / ATTR. Meu último estado é:

BUS=="usb", KERNEL=="sd*", ATTRS{serial}=="4C530009320619116345", ACTION=="add", SYMLINK+="kram", RUN+="/home/d/Desktop/DirSyncPro-1.51-Linux/SUPERJAVA.sh"

O shell, apenas inicia um programa de sincronização simples, mas funciona em si mesmo se eu iniciá-lo regularmente no terminal.

#!/bin/bash     java -jar dirsyncpro.jar

No entanto, no arquivo de log, ele não faz nenhum esforço para executar o programa, se eu conectar o USB.

tail -f /var/log/syslog 

Apenas para recuperar as etapas: 1. lsusb , o que me dá: entBus 002 Device 012: ID 0781:5572 SanDisk Corp. 2. udevadm info -a -p $(udevadm info -q path -n /dev/bus/usb/002/012) , o que me dá: looking at device '/devices/pci0000:00/0000:00:1d.7/usb2/2-2': KERNEL=="2-2" SUBSYSTEM=="usb" ... ATTR{idVendor}=="0781" ... ATTR{serial}=="4C530009320619116345" ... ATTR{idProduct}=="5572" ... ATTR{product}=="Cruzer Switch" ... ATTRS{idVendor}=="1d6b" ... ATTRS{idProduct}=="0002" . .. ATTRS{product}=="EHCI Host Controller" ...

Alguém tem outra ideia do que eu poderia tentar? O udev não é mais compatível com o Ubuntu 14.04?

    
por fahrradlaus 22.10.2015 / 00:34

1 resposta

0

Sua regra do udev não é acionada.

Substituir:

  • BUS=="usb" com SUBSYSTEM=="usb" .
  • KERNEL=="sd*" com KERNEL=="2-2" .

Verificação tripla:

  • seu número de série ATTRS{serial}=="4C530009320619116345" .
  • o caminho para o seu script.

Suprima (momentaneamente) SYMLINK+="kram" . Você pode adicioná-lo mais tarde quando estiver satisfeito com o funcionamento da regra do ano.

Sua nova regra udev deve ser:

SUBSYSTEM=="usb", KERNEL=="2-2", ATTRS{serial}=="4C530009320619116345", ACTION=="add", RUN+="/home/d/Desktop/DirSyncPro-1.51-Linux/SUPERJAVA.sh"

Se isso funcionar, tente sem o udev tag KERNEL=="2-2" , pois pode ser supérfluo, especialmente se você idetificar com sucesso o dispositivo de evento com seu número de série.

    
por Cbhihe 27.10.2015 / 14:46