UDEVルール干渉

UDEVルール干渉

私は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"

/etc/udev/rules.dにUDEVルールを作成しました。

カーネル == "sd*", サブシステム == "usb", ジョブ == "追加", RUN +="/home/pi/testscript.sh"

また、USB自動マウントが/media/usbフォルダにあるようにusbmountをインストールし、/lib/udev/rules.dでもusbmount.rulesを見つけました。

USB を接続するたびに空のファイルが USB にコピーされ、USB を抜いた後、実際にコピーされたファイルは /media/usb... の位置にあります。

/etc/udev/rules.d/myruleのルールは、/lib/udev/rules.d/usbmountより前に実行されているようです。おそらく、これがUSBマウントの前に/media/usbにデータをコピーする理由です!どんな助けでも大変感謝します。

答え1

そのディレクトリがマウントポイントであることを確認できます(次のように)。これ答え)何でもコピーする前に。小切手を無限のwhileループに入れることができますが、中断される可能性があるので、それほど本物ではないと思います。

関連情報