내 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에 규칙을 추가해야 합니다 .

두 번째이자 가장 중요한 점은 호출 스크립트에 #/bin/bash잘못된 구문 오류가 있으며 올바른 구문은 다음과 같습니다.#!/bin/bash

관련 정보