Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
69d5dc162b | ||
|
|
5a1320c22a |
+28
-4
@@ -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.3
|
||||
### Updated: 2027-08-05
|
||||
### Purpose: Backs up all docker stacks in a given directory to Restic bucket
|
||||
###############################################################################
|
||||
### Requirements:
|
||||
@@ -22,6 +22,9 @@
|
||||
# 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
|
||||
# 1.1.3 - Added GiB to total backup size information
|
||||
|
||||
set -Eeuo pipefail
|
||||
|
||||
@@ -128,6 +131,8 @@ fi
|
||||
# Process Each Compose Project
|
||||
###############################################################################
|
||||
|
||||
total_size=0
|
||||
|
||||
for compose_file in "${COMPOSE_FILES[@]}"; do
|
||||
|
||||
compose_dir="$(dirname "$compose_file")"
|
||||
@@ -277,15 +282,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 +324,4 @@ restic forget \
|
||||
--prune
|
||||
|
||||
log "All compose projects backed up successfully."
|
||||
log "Total Backup Size: $total_size GiB"
|
||||
Reference in new issue
Block a user