Update dockerbackup.sh

This commit is contained in:
ackitsme committed 2026-08-04 20:42:00 -07:00
1 parent 09cbb11e86
commit 5a1320c22a
1 file changed
+27 -4
+27 -4
View File
@@ -3,8 +3,8 @@
### Docker Stack Backup Script
### Created by Charlie Silverman - ackitsme3@gmail.com
###############################################################################
### Version: 1.1.0
### Updated: 2017-07-26
### Version: 1.1.2
### Updated: 2027-08-04
### Purpose: Backs up all docker stacks in a given directory to Restic bucket
###############################################################################
### Requirements:
@@ -22,6 +22,8 @@
# Version History:
# 1.0.0 - Initial build
# 1.1.0 - Added exception list via text file
# 1.1.1 - Added snapshot size to log
# 1.1.2 - Added aggregate backup size to end of log
set -Eeuo pipefail
@@ -128,6 +130,8 @@ fi
# Process Each Compose Project
###############################################################################
total_size=0
for compose_file in "${COMPOSE_FILES[@]}"; do
compose_dir="$(dirname "$compose_file")"
@@ -277,15 +281,33 @@ for compose_file in "${COMPOSE_FILES[@]}"; do
--tag "${project_name}" \
--tag "${HOSTNAME_SHORT}"
###################################################
# Get backup size
###################################################
lastsnap=`restic ls latest`
lastsnapid=$(echo "$lastsnap" | awk '{print $2}')
snapdata=`restic snapshots $lastsnapid`
snapnum=$(echo $snapdata | awk '{print $14}')
snapsu=$(echo $snapdata | awk '{print $15}')
case "$snapsu" in
"TiB")
snapnum=$(echo "scale=2;$snapnum * 1024" | bc)
;;
"MiB")
snapnum=$(echo "scale=2;$snapnum / 1024" | bc)
;;
esac
snapnum=$(printf "%.2f\n" "$snapnum")
###################################################
# Cleanup Local Backup
###################################################
rm -rf "${STAGING_DIR}"
log "Project complete: ${project_name}"
log "Project complete: ${project_name} ${snapnum} GiB"
log ""
total_size=$(bc <<< "$total_size + $snapnum")
done
###############################################################################
@@ -301,3 +323,4 @@ restic forget \
--prune
log "All compose projects backed up successfully."
log "Total Backup Size: $total_size"