40 lines
No EOL
1.5 KiB
Bash
40 lines
No EOL
1.5 KiB
Bash
#!/bin/bash
|
|
|
|
# Get today's date for our backup filename
|
|
backupDate=$(date +'%F')
|
|
|
|
# Enter backup directory
|
|
cd /home/debian/dockerbackup || 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 - docker2" | 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
|
|
|
|
echo "Creating a tar archive of your docker parent folder..." | tee -a docker-$backupDate.log
|
|
tar -czvf $backupDate-backup-docker2.tar.gz /docker >> docker-$backupDate.log 2>&1
|
|
|
|
# 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-docker2.tar.gz b2:rgm-docker2 --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-docker2.tar.gz >> docker-$backupDate.log 2>&1
|
|
|
|
# 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 |