17

特定の USB ドライブを検出し、そのドライブをディレクトリと同期するように記述できる Bash スクリプトやデーモンはありますか?

4

3 に答える 3

22

今後の参考のために、USB ドライブの検出時に bash スクリプトを実行する方法を次に示します。

デバイスを接続して実行lsusbし、デバイスの情報を取得します。次のようなものが表示されます。

$ lsusb
Bus 002 Device 039: ID 0bc2:2100 Seagate RSS LLC

この場合、デバイスのベンダー ID は 0bc2 で、製品 ID は 2100 です。

これで、任意のテキスト エディターを使用して UDEV ルールを作成できます。

$sudo vi /etc/udev/rules.d/85-my_usb_device_rule.rules

そしてこれを追加します:

ACTION=="追加"、SUBSYSTEM=="usb"、SYSFS{idVendor}=="0bc2"、SYSFS{idProduct}=="2100"、RUN+="/home/myhome/my_script"

/home/myhome/my_scriptスクリプトへのパスであり、必要なことは何でも実行します。

検出スクリプトがすぐに実行されるようにするには、次のコマンドを実行して UDEV ルールをリロードします。

$sudo udevadm コントロール --reload-rules

これは Fedora 14 でテストされました。

于 2011-11-16T00:53:02.153 に答える
6

私は自分でそれをしませんでしたが、次udevのようなルールを試すことができます:

# Hitachi SimpleDrive mini, model HTS545050B9A300 (500 GB USB HDD)
SUBSYSTEM=="block", ATTR{size}=="976768002", ATTRS{product}=="SimpleDrive mini", ATTRS{serial}=="2512009121920487", ACTION=="add", RUN+="/lib/udev/local.usb.hdd.sh add $devpath"

/etc/udev/rules.d/90-local.rulesOSに依存する、または同様の場所に配置します。

于 2010-11-15T22:23:12.367 に答える
3

リスニング部分に使用できる Python デーモンの例を次に示します。ファイルをディレクトリにコピーすることは問題になりません。

于 2010-11-15T22:32:21.860 に答える