Estou trabalhando no Raspian OS (Linux) para o Raspberry Pi 3. Estou tentando fazer uma tarefa simples: quando conecto qualquer USB à porta, ele deve copiar os dados de um local específico para o USB e limpar o arquivo nesse local, aqui está meu script (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"
Eu criei uma regra UDEV em /etc/udev/rules.d
KERNEL == "sd *", SUBSYSTEMS == "usb", ACTION == "adicionar", RUN +="/ home / pi / testscript.sh"
Eu também instalei o usbmount, para que as montagens USB na pasta / media / usb
Eu também encontrei usbmount.rules em /lib/udev/rules.d
Agora, toda vez que eu conecto o USB, ele copia um arquivo vazio para o USB e, depois de desconectar o USB, o arquivo copiado está em location / media / usb ...
Eu estou supondo que a regra em /etc/udev/rules.d/myrule seja executada antes do /lib/udev/rules.d/usbmount, talvez por isso copie os dados para / media / usb antes do meu USB montagens! Qualquer ajuda será muito apreciada