自动挂载并将文件复制到 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。

相关内容