Автоматически монтировать и копировать файлы на USB-накопитель

Автоматически монтировать и копировать файлы на USB-накопитель

Я новичок в Linux и программировании. Мой вопрос похож на этотодинно я использую Raspberry Pi 4 headless без рабочего стола [buster lite], который, похоже, автоматически монтирует USB-накопители. Я не нашел не дерганого способа автоматически монтировать новые USB-накопители, чтобы их путь был предсказуемым. У этого RPi4 есть датчик, и я хочу, чтобы он автоматически сохранял данные датчика на любой вставленный в него флэш-накопитель. Я могу просто периодически отключать диск и вставлять новый, а затем возвращаться домой. Мне нужно иметь возможность использовать любой новый USB-накопитель, а не просто повторно использовать те же несколько. Остальная часть работы, которую я делаю, написана на Python, но эта функция может быть выполнена отдельно без Python. Это решение должно выдерживать перезагрузки Pi.

Ценю помощь каждого. Поскольку я совсем новичок, я был бы особенно признателен за объяснения того, что вы рекомендуете.

решение1

  1. Напишите скрипт для заполнения /dev/sdX и монтирования usb-накопителей (или выполните другие проверки)
  2. Измените udevd для запуска вашего скрипта при подключении USB-накопителя.

Скрипт может начинаться так:

    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.

Связанный контент