自動掛載檔案並將其複製到 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。

相關內容