Auto add target dir based on camera model
This commit is contained in:
10
README.md
10
README.md
@@ -24,10 +24,18 @@ Uncomment then the line below by removing *#*:
|
||||
|
||||
Save the changes.
|
||||
|
||||
Keep in mind that in this case, the transferred files are saved in the */home/pi/BACKUP* directory on the system storage card. Make sure that the card you use with Raspberry Pi has adequate storage capacity.
|
||||
Keep in mind that in this case, the transferred files are saved in the */home/pi/[CAMERA MODEL]* directory on the system storage card. Make sure that the card you use with Raspberry Pi has adequate storage capacity.
|
||||
|
||||
**Important** Make sure that the camera is set to the MTP USB connection mode.
|
||||
|
||||
### Alternative Direct File Transfer Script
|
||||
|
||||
Some cameras (notably Sony Alpha models) may not work with the default direct file transfer script. In this case, try the *gphoto-backup-alt.sh* script instead by enabling the following cron job as described above:
|
||||
|
||||
#@reboot sudo /home/pi/little-backup-box/gphoto-backup-alt.sh > /home/pi/gphoto-backup-alt.log
|
||||
|
||||
This script saves transferred files in the */home/pi/BACKUP* directory.
|
||||
|
||||
## Usage
|
||||
|
||||
1. Boot the Raspberry Pi
|
||||
|
||||
37
gphoto-backup-alt.sh
Executable file
37
gphoto-backup-alt.sh
Executable file
@@ -0,0 +1,37 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# IMPORTANT:
|
||||
# Run the install-little-backup-box.sh script first
|
||||
# to install the required packages and configure the system.
|
||||
|
||||
# Specify a storage device and its mount point
|
||||
STORAGE_MOUNT_POINT="/home/pi/BACKUP"
|
||||
|
||||
# Set the ACT LED to heartbeat
|
||||
sudo sh -c "echo heartbeat > /sys/class/leds/led0/trigger"
|
||||
|
||||
# Create the target directory if it doesn't exist
|
||||
if [ ! -d "$STORAGE_MOUNT_POINT" ]; then
|
||||
mkdir $STORAGE_MOUNT_POINT
|
||||
fi
|
||||
|
||||
# Wait for camera
|
||||
DEVICE=$(gphoto2 --auto-detect | grep usb | cut -b 36-42 | sed 's/,/\//')
|
||||
while [ -z ${DEVICE} ]
|
||||
do
|
||||
sleep 1
|
||||
DEVICE=$(gphoto2 --auto-detect | grep usb | cut -b 36-42 | sed 's/,/\//')
|
||||
done
|
||||
|
||||
# Set the ACT LED to blink at 500ms to indicate that the camera has been detected
|
||||
sudo sh -c "echo 500 > /sys/class/leds/led0/delay_on"
|
||||
|
||||
# Switch to STORAGE_MOUNT_POINT and transfer files from the camera
|
||||
# Rename the transferred files using the YYYYMMDD-HHMMSS format
|
||||
cd $STORAGE_MOUNT_POINT
|
||||
gphoto2 --get-all-files --skip-existing --filename=%Y%m%d-%H%M%S.%C
|
||||
# Turn off the ACT LED to indicate that the backup is completed
|
||||
sudo sh -c "echo 0 > /sys/class/leds/led0/brightness"
|
||||
|
||||
# Shutdown
|
||||
shutdown -h now
|
||||
@@ -1,16 +1,15 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# IMPORTANT:
|
||||
# Run the install-little-backup-box.sh script first
|
||||
# to install the required packages and configure the system.
|
||||
|
||||
# Specify a storage device and its mount point
|
||||
STORAGE_MOUNT_POINT="/home/pi/BACKUP"
|
||||
HOME_DIR="/home/pi"
|
||||
|
||||
# Set the ACT LED to heartbeat
|
||||
sudo sh -c "echo heartbeat > /sys/class/leds/led0/trigger"
|
||||
|
||||
# Create the target directory if it doesn't exist
|
||||
if [ ! -d "$STORAGE_MOUNT_POINT" ]; then
|
||||
mkdir $STORAGE_MOUNT_POINT
|
||||
fi
|
||||
|
||||
# Wait for camera
|
||||
DEVICE=$(gphoto2 --auto-detect | grep usb | cut -b 36-42 | sed 's/,/\//')
|
||||
while [ -z ${DEVICE} ]
|
||||
@@ -19,6 +18,11 @@ while [ -z ${DEVICE} ]
|
||||
DEVICE=$(gphoto2 --auto-detect | grep usb | cut -b 36-42 | sed 's/,/\//')
|
||||
done
|
||||
|
||||
# Obtain camera model
|
||||
# Create the target directory with the camera model as its name
|
||||
CAMERA=$(gphoto2 --summary | grep "Model" | cut -d: -f2 | tr -d '[:space:]')
|
||||
STORAGE_MOUNT_POINT="$HOME_DIR/$CAMERA"
|
||||
|
||||
# Set the ACT LED to blink at 500ms to indicate that the camera has been detected
|
||||
sudo sh -c "echo 500 > /sys/class/leds/led0/delay_on"
|
||||
|
||||
|
||||
@@ -13,6 +13,7 @@ git clone https://github.com/dmpop/little-backup-box.git
|
||||
|
||||
crontab -l | { cat; echo "@reboot sudo /home/pi/little-backup-box/backup.sh > /home/pi/little-backup-box.log"; } | crontab
|
||||
crontab -l | { cat; echo "#@reboot sudo /home/pi/little-backup-box/gphoto-backup.sh > /home/pi/gphoto-backup.log"; } | crontab
|
||||
crontab -l | { cat; echo "#@reboot sudo /home/pi/little-backup-box/gphoto-backup-alt.sh > /home/pi/gphoto-backup-alt.log"; } | crontab
|
||||
|
||||
sudo sed -i 's|'media_dir=/var/lib/minidlna'|'media_dir=/media/storage'|' /etc/minidlna.conf
|
||||
sudo service minidlna start
|
||||
|
||||
Reference in New Issue
Block a user