0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Raspberry Pi でUSBメモリ挿抜をトリガーにサービスを起動したり、スクリプトを動かしたり

Last updated at Posted at 2023-02-15

要件

  • USBメモリを挿抜したタイミングでスクリプトを動かしたい
  • USBメモリを挿抜したタイミングでサービスを動かしたい

Raspberry Pi Zero 2で試してみました。

まずは・・・

USB検出したときのルールを追加するためにファイル作成

nano /etc/udev/rules.d/10-usbdevice.rules 

スクリプトを動かしたい

USBメモリを刺したら、そのデバイスをマウントして色々処理したい。

ACTION=="add", SUBSYSTEMS=="usb", KERNEL=="sd*[0-9]", RUN+="/home/pi/script_on.sh $kernel"
ACTION=="remove", SUBSYSTEMS=="usb", KERNEL=="sd*[0-9]", RUN+="/home/pi/script_off.sh $kernel"

$kernelにはsda1とかsdb1がはいるので、スクリプト内でマウントなどできますね。

サービスを動かしたい

スクリプトだと59秒以上動かすと強制退場くらいますので、サービスにしたい場合は以下です。

ACTION=="add", SUBSYSTEMS=="usb", KERNEL=="sd*[0-9]", ENV{SYSTEMD_WANTS}="usbdevice@$kernel\.service"

スクリプト内で$Iでsda1などが取得できます。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?