36 lines
1 KiB
Bash
36 lines
1 KiB
Bash
#!/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:rgm-docker2 --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!"
|