我目前正在做一个项目,它需要一个文件被自动复制到U盘挂载。基于我在互联网上的研究,我认为使用udev规则是可行的。因此,当一个USB被插入到我的RPi2中时,udev规则将执行一个python脚本,该脚本允许将文件复制到USB盘。
问题是,我还听说脚本将在RPi挂载USB之前执行,这意味着文件不会被复制。有解决办法吗?python脚本是在我内部复制文件时执行的(在RPi本身而不是USB上),当我试图将其复制到USB时,它就不工作了。
以下是我的代码:
Udev规则
KERNEL=="sd*1", ACTION=="add", RUN=="/home/pi/datalogger/autocopy.sh"
外壳脚本
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)
# E.g. source and destination is the same location
except shutil.Error as e:
print("Error: %s" % e)
# E.g. source or destination does not exist
except IOError as e:
print("Error: %s" % e.strerror)
目前没有回答
相关问题 更多 >
编程相关推荐