在安装Raspberry Pi时自动将文件复制到USB

我目前正在做一个项目,需要一个文件被自动复制到安装的USB棒。 基于我在互联网上的研究,我相信这是可行的使用udev规则。 所以,当USB插入我的RPi2时,udev规则将执行一个python脚本,允许将文件复制到USB棒。

问题是,我也听说脚本会在RPi挂载USB之前执行,这意味着文件不会被复制。 有针对这个的解决方法吗? python脚本执行时,我内部复制文件(在RPi本身不是USB),它只是不工作,当我试图将其复制到USB。

以下是我的代码:

Udev统治

KERNEL=="sd*1", ACTION=="add", RUN=="/home/pi/datalogger/autocopy.sh" 

Shell脚本

 cd / cd /home/pi/datalogger sudo /usr/bin/python autocopy.py cd / exit 

Python脚本

 import shutil import datetime # File to be copied source = "/home/pi/copied.txt" # USB name must be changed to 'USB1' in order for auto copy to work destination = "/media/pi/USB1/datalogger_backup_%s.txt" % datetime.datetime.now().date() try: # Copy file to destination shutil.copy2(source, destination) # Eg source and destination is the same location except shutil.Error as e: print("Error: %s" % e) # Eg source or destination does not exist except IOError as e: print("Error: %s" % e.strerror) 

问题 :由于USB尚未安装,因此目的地不可用

将以下内容添加到您的script以验证mount状态:

 mount >> /tmp/mount.log 

阅读这个自动安装 – usb-storage /
也许你可以适应你的需求。