image_backup.sh

This script allows to take a backup of the image of a Raspberry Pi SDCard. Controlled as a CRON task, it can be triggered weekly, monthly, or at the user’s wish (refer to CRONTAB)

#!/bin/bash -e
# This script will run every week to take an image of the SDCard of a Raspberry Pi.
# Use crontab -e to define the frequency of the backup.
# Backup is done on the SDD mounted at /media/pi/SDD250
date_time=`/bin/date "+%Y.%m.%d.%H.%M.%S"`
date=`/bin/date "+%Y.%m.%d"`
HOSTNAME=`hostname`
SOURCE_DIRECTORY='/dev/mmcblk0'
DESTINATION_DIRECTORY='/media/pi/SDD250/images_backup/'
BACKUP_FILENAME=$HOSTNAME'_backup_image_'$date'.img'
LOG_FILE_NAME=$HOSTNAME'_image_backup.log'
LOG_FILE='$DESTINATION_DIRECTORY$LOG_FILE_NAME'
LOG_FILE="/media/pi/SDD250/$LOG_FILE_NAME"
echo "#########################################################" >> $LOG_FILE
echo "# Starting SDCard image backup - $date_time    #" >> $LOG_FILE
sudo dd if="$SOURCE_DIRECTORY" of="$DESTINATION_DIRECTORY$BACKUP_FILENAME"
echo "# SDCard image backup completed - $date_time   #" >> $LOG_FILE
echo "#########################################################" >> $LOG_FILE
echo "" >> $LOG_FILE
echo "" >> $LOG_FILE


exit 0