使用Raspberry重命名文件时SD损坏/数据丢失

时间:2014-07-08 20:53:08

标签: bash raspberry-pi udev

对于我的父母,我尝试使用Raspberry转换(微)SD卡上的文件名。但很多时候SD卡被损坏或大文件在重命名文件时被从卡中删除。这是我使用的UDEV规则:

ACTION=="add", 
SUBSYSTEM=="block", 
ATTRS{idVendor}=="14cd", 
ATTRS{idProduct}=="121f", 
RUN+="/home/pi/bashtest.sh"

这是Raspberry上bash中的代码:

    #!/bin/bash
{
sudo umount /dev/sda1
sudo fsck -y /dev/sda1
} &
{
dd=1234567890aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ
sleep 5
sudo mount -t vfat /dev/sda1 /media/usb1
cd /media/usb1/DCIM/Camera
sudo find /media/usb1/DCIM/Camera -regextype posix-egrep -regex ".*[^/]{13}.JPG"|
for i in *.JPG
do
ddate=$(exiv2 "${i}"|grep timestamp)
SPEC=$ddate
read X X YEAR MONTH DAY HOUR MINUTE SECOND <<<${SPEC//:/ }
d1=${YEAR:2}
d2=${dd:(10#$MONTH-1):1}
d3=${dd:(10#$DAY-1):1}
d4=${dd:(10#$HOUR-1):1}
d5=${dd:(10#$MINUTE-1):1}
d6=${dd:(10#$SECOND-1):1}
d7=0
/media/usb1/DCIM/"${d1}${d2}${d3}${d4}${d5}${d6}${d7}.JPG"
sudo mv -u "$i" /media/usb1/DCIM/"${d1}${d2}${d3}${d4}${d5}${d6}${d7}.JPG"
done
for i in *.MP4
do

dddate=$(exiftool "${i}" |grep "Media Create Date" | awk -F':' '{print $2, $3, $4, $5, $6, $7}')
SPEC=$dddate
read YEAR MONTH DAY HOUR MINUTE SECOND <<<${SPEC//:/ }
d1=${YEAR:2}
d2=${dd:(10#$MONTH-1):1}
d3=${dd:(10#$DAY-1):1}
d4=${dd:(10#$HOUR-1):1}
d5=${dd:(10#$MINUTE-1):1}
d6=${dd:(10#$SECOND-1):1}
d7=0
sudo mv  -u "$i" /media/usb1/DCIM/"${d1}${d2}${d3}${d4}${d5}${d6}${d7}.MP4"
/media/usb1/DCIM/"${d1}${d2}${d3}${d4}${d5}${d6}${d7}.MP4"
done
sudo umount -l /media/usb1
sleep 5
sudo shutdown -h now
} &

使用第一个程序,我在其他地图中复制了一份,但这需要SD卡的太多空间。我有什么想法可以改进代码吗?

这是以前计划的踪迹:

https://vimeo.com/86546119

1 个答案:

答案 0 :(得分:1)

树莓派的常见问题。解决方案包括从更换到更好的电源,使用不同的SD卡,以及减少CPU时钟,特别是在超频的情况下。 “充电器”式电源的问题通常是它们对脉冲负载的响应很差,在闪存写入期间导致非常短的电压不足。