#!/bin/bash -x export RUBYLIB="/usr/lib/site_ruby" #------------variables, change to yours------------- AWS_ACCESS_KEY_ID="" AWS_SECRET_ACCESS_KEY="" AWS_ACCOUNT_NUMBER="" PRIVATE_KEY_PATH="path-to-your-private-key-file" PUBLIC_KEY_PATH="path-to-your-public-key-file" NEW_FILESYSTEM_SIZE="4096" # In MB BUCKET_NAME="my-bucket-for-backup-CHANGE" SCRAP_DIR="/mnt/image-snapshot" #=================================================== echo Starting backup cd /mnt #clean the workdir /bin/rm -rf /mnt/image-snapshot /bin/mkdir -p /mnt/image-snapshot #create new image NEW_FILE=debian_`date +%H-%d.%m.%y` DAY=`date --date="4 days ago" +%d.%m.%y` FILE=debian_`date +%H-`${DAY} echo New image name is ${NEW_FILE} and the old one is ${FILE} /usr/local/bin/ec2-bundle-vol -p ${NEW_FILE} -d ${SCRAP_DIR} -k ${PRIVATE_KEY_PATH} -c ${PUBLIC_KEY_PATH} -u ${AWS_ACCOUNT_NUMBER} -s ${NEW_FILESYSTEM_SIZE} sleep 1 #upload new image /usr/local/bin/ec2-upload-bundle -b ${BUCKET_NAME} -m ${SCRAP_DIR}/${NEW_FILE}.manifest -a ${AWS_ACCESS_KEY_ID} -s ${AWS_SECRET_ACCESS_KEY} --debug --retry sleep 1 #delete back-up from two days ago /usr/local/bin/ec2-delete-bundle -a ${AWS_ACCESS_KEY_ID} -s ${AWS_SECRET_ACCESS_KEY} -y -b ${BUCKET_NAME} -p ${FILE} sleep 1 echo Done