Compare commits

...
2 Commits
Author SHA1 Message Date
ackitsme 69d5dc162b Fixed total display 2026-08-05 08:51:13 -07:00
ackitsme 5a1320c22a Update dockerbackup.sh 2026-08-04 20:42:00 -07:00
+28 -4
View File
@@ -3,8 +3,8 @@
### Docker Stack Backup Script ### Docker Stack Backup Script
### Created by Charlie Silverman - ackitsme3@gmail.com ### Created by Charlie Silverman - ackitsme3@gmail.com
############################################################################### ###############################################################################
### Version: 1.1.0 ### Version: 1.1.3
### Updated: 2017-07-26 ### Updated: 2027-08-05
### Purpose: Backs up all docker stacks in a given directory to Restic bucket ### Purpose: Backs up all docker stacks in a given directory to Restic bucket
############################################################################### ###############################################################################
### Requirements: ### Requirements:
@@ -22,6 +22,9 @@
# Version History: # Version History:
# 1.0.0 - Initial build # 1.0.0 - Initial build
# 1.1.0 - Added exception list via text file # 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
# 1.1.3 - Added GiB to total backup size information
set -Eeuo pipefail set -Eeuo pipefail
@@ -128,6 +131,8 @@ fi
# Process Each Compose Project # Process Each Compose Project
############################################################################### ###############################################################################
total_size=0
for compose_file in "${COMPOSE_FILES[@]}"; do for compose_file in "${COMPOSE_FILES[@]}"; do
compose_dir="$(dirname "$compose_file")" compose_dir="$(dirname "$compose_file")"
@@ -277,15 +282,33 @@ for compose_file in "${COMPOSE_FILES[@]}"; do
--tag "${project_name}" \ --tag "${project_name}" \
--tag "${HOSTNAME_SHORT}" --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 # Cleanup Local Backup
################################################### ###################################################
rm -rf "${STAGING_DIR}" rm -rf "${STAGING_DIR}"
log "Project complete: ${project_name}" log "Project complete: ${project_name} ${snapnum} GiB"
log "" log ""
total_size=$(bc <<< "$total_size + $snapnum")
done done
############################################################################### ###############################################################################
@@ -301,3 +324,4 @@ restic forget \
--prune --prune
log "All compose projects backed up successfully." log "All compose projects backed up successfully."
log "Total Backup Size: $total_size GiB"