Add docker2-backup.sh

Stops all docker containers and backs up the /docker directory to BackBlaze using rclone. Rclone must be configured separately using <code>sudo rclone config</code>

(MUST BE RUN AS SUDO)
This commit is contained in:
rob.mcewan 2024-10-26 01:40:33 +00:00
parent d1b15fb7ac
commit 555af6499f

36
docker2-backup.sh Normal file
View file

@ -0,0 +1,36 @@
#!/bin/bash
# Get today's date for our backup filename
backupDate=$(date +'%F')
# this just prints the formated date variable to the console if you want to see it.
echo $backupDate
# move to the path where you will keep all of yoru docker configurations and data
cd /docker
# stop ALL containers
docker stop $(docker ps -a -q)
cd /home/debian/backup
#create a tar archive of your docker parent folder
tar --exclude='./backup/' -czvf $backupDate-backup-docker2.tar.gz /docker
cd /docker
#Start ALL containers
docker start $(docker ps -a -q)
# now go back to backup directory, and copy my backup file to my NAS
cd /home/debian/backup
echo ""
echo "Backup copy is running..."
# use secure copy to copy the tar archive to your final backup location (in my case a mounted NFS share)
rclone copy $backupDate-backup-docker2.tar.gz b2:server-backup-rgm --progress
# remove the tar file from the main home folder after it's copied
rm -rf $backupDate-backup-docker2.tar.gz
echo "Local backup file removed..."
echo "Docker Backup Completed Successfully!"