私のudevルールが私のFedora PCで動作しないのはなぜですか?

私のudevルールが私のFedora PCで動作しないのはなぜですか?

外付けハードドライブが接続されているときにスクリプトを呼び出してファイルをバックアップしたいのですが、動作しません。

まず、端末にコマンドを入力します。udevadm info -a -n /dev/sdb

looking at parent device '/devices/pci0000:00/0000:00:14.0/usb3/3-3':
KERNELS=="3-3"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{authorized}=="1"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{bConfigurationValue}=="1"
ATTRS{bDeviceClass}=="00"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{bMaxPower}=="500mA"
ATTRS{bNumConfigurations}=="1"
ATTRS{bNumInterfaces}==" 1"
ATTRS{bcdDevice}=="3202"
ATTRS{bmAttributes}=="80"
ATTRS{busnum}=="3"
ATTRS{configuration}==""
ATTRS{devnum}=="3"
ATTRS{devpath}=="3"
ATTRS{idProduct}=="0578"
ATTRS{idVendor}=="152d"
ATTRS{ltm_capable}=="no"
ATTRS{manufacturer}=="JMicron"
ATTRS{maxchild}=="0"
ATTRS{product}=="External Disk 3.0"
ATTRS{quirks}=="0x0"
ATTRS{removable}=="removable"
ATTRS{rx_lanes}=="1"
ATTRS{serial}=="212355187228"
ATTRS{speed}=="480"
ATTRS{tx_lanes}=="1"
ATTRS{urbnum}=="11622"
ATTRS{version}==" 2.10"

出力を使用してudevルールを作成します。/etc/udev/rules.dその名前のファイルに99-RsyncToUsb.rules次のコマンドを生成して入力しました。ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="152d", ATTRS{idProduct}=="0578", RUN+="/opt/sync_files_to_usb_disk.sh"

スクリプトの/opt/sync_files_to_usb_disk.sh構成は次のとおりです。-rwxr-xr-x. 1 unix unix 744 May 7 23:47 sync_files_to_usb_disk.sh

ただし、デバイスを接続してもまだ発生しません。

私のRsyncコマンドは次のとおりですrsync -hvrstc --delete --exclude=".*/" --backup --backup-dir=Lost-Found --suffix=_dltdFile --times --progress /home/unix /run/media/unix/ExtDisk_1

誰でも私を助けることができますか?

ベストアンサー1

いくつかの検索の最後に解決策を見つけたようです。

ATTR{partition}=="1"まず、スクリプトへの複数の呼び出しを避けるために、udevにルールを追加する必要があります。

2番目で最も重要なのは、呼び出しスクリプトに#/bin/bash誤った構文エラーがあり、正しい構文は次のとおりです。#!/bin/bash

おすすめ記事