scripts/bash/backupdocker1.sh

45 lines
No EOL
1.7 KiB
Bash

#!/bin/bash
# Get today's date for our backup filename
backupDate=$(date +'%F')
# Enter backup directory
cd /home/rob/backup || exit
echo "Moving to backup directory..."
# Clear old log files
rm -rf *.log
echo "Log files cleared..." | tee -a docker-$backupDate.log
# Display todays date
echo "Backup Log - docker1" | tee -a docker-$backupDate.log
echo $backupDate | tee -a docker-$backupDate.log
echo "Stopping all containers..." | tee -a docker-$backupDate.log
docker stop $(docker ps -a -q) >> docker-$backupDate.log 2>&1
# Create tar of docker directory
echo "Creating a tar archive of your docker parent folder..." | tee -a docker-$backupDate.log
tar -czvf $backupDate-backup-docker1.tar.gz /home/rob/docker
# Start ALL containers
echo "Starting all containers..." | tee -a docker-$backupDate.log
docker start $(docker ps -a -q) >> docker-$backupDate.log 2>&1
echo "Uploading backup file to BackBlaze..." | tee -a docker-$backupDate.log
rclone copy $backupDate-backup-docker1.tar.gz b2:rgm-docker1 --progress >> docker-$backupDate.log 2>&1
# remove the tar file from the main home folder after it's copied
echo "Removing local backup cache..." | tee -a docker-$backupDate.log
rm -rf $backupDate-backup-docker1.tar.gz >> docker-$backupDate.log 2>&1
# Run System Update
echo "Running System Update..." | tee -a docker-$backupDate.log
apt update && apt upgrade -y && apt autoremove -y | tee -a docker-$backupDate.log
# Email log to an email address
# sendmail -s "Docker Backup Completed" rgmcewan@outlook.com < docker-$backupDate.log
# Email log to an email address using postfix
echo "Docker backup | Complete" | tee -a docker-$backupDate.log
/usr/sbin/sendmail -t -v rgmcewan@outlook.com < docker-$backupDate.log