USB 드라이브에 자동으로 파일 마운트 및 복사

USB 드라이브에 자동으로 파일 마운트 및 복사

저는 Linux와 프로그래밍이 처음입니다. 내 질문은 이것과 비슷합니다하나하지만 USB 드라이브를 자동 마운트하는 것처럼 보이는 데스크톱 [버스터 라이트] 없이 Raspberry Pi 4 헤드리스를 실행하고 있습니다. 경로를 예측할 수 있도록 새 USB 드라이브를 자동으로 마운트하는 비정상적 방법을 찾지 못했습니다. 이 RPi4에는 센서가 있으며 센서 데이터가 삽입된 모든 썸드라이브에 자동으로 저장되기를 원합니다. 주기적으로 드라이브를 분리하고 새 드라이브를 넣은 다음 집으로 돌아갈 수 있습니다. 동일한 USB 드라이브 몇 개를 재사용하는 것이 아니라 새로운 USB 드라이브를 사용할 수 있어야 합니다. 내가 하고 있는 나머지 작업은 Python에서 수행되지만 이 기능은 Python 없이도 별도로 수행할 수 있습니다. 이 솔루션은 pi 재부팅 후에도 유지되어야 합니다.

모든 사람의 도움에 감사드립니다. 나는 아주 초보이기 때문에 특히 당신이 추천하는 것에 대한 설명을 고맙게 생각합니다.

답변1

  1. /dev/sdX를 채우고 USB를 마운트하는 스크립트를 작성하십시오(또는 다른 검사 수행).
  2. USB 드라이브가 연결되면 스크립트를 실행하도록 udevd를 수정하세요.

스크립트는 다음과 같이 시작할 수 있습니다.

    for i in $(ls /dev/sd* | awk -F '/'  '{ print $3 }')
    do
            echo "Do stuff like: mkdir /mnt/$i"
    done

udev를 이와 같이 구성할 수 있습니다. 적절한 값을 사용하면 /dev/usb/NAMEYOUCHOOSE에 장치가 표시됩니다.

BUS=="usb", ACTION=="add", KERNEL=="sd[a-z][0-9]*", NAME="%k", RUN+="/usr/local/sbin/YOURSCRIPT"

유용한 명령

udevadm monitor

장치를 연결하세요. 그런 다음 다음과 같은 속성을 확인하십시오.

udevadm info --path /devices/pci0000:00/0000:00:1d.7/usb1/1-4/usb_device/usbdev1.49 --attribute-walk

(다른 값을 사용해야 함)

규칙을 작성한 후 udevd가 규칙을 강제로 다시 읽도록 하세요.

udevadm control --reload-rules

장치를 다시 연결하십시오. 원하는 대로 /etc/fstab을 수정합니다.

하지만 나는 더 단순한 것을 선호합니다. /dev/disk/by-label/이 있을 수 있습니다. 따라서 미디어에 적절하게 레이블을 지정하고 fstab을 수정하세요.

관련 정보