Add parameters and usage function to backup script.

This commit is contained in:
2025-10-17 13:50:02 -07:00
parent fdff4f0d27
commit 3897d6f3c3

View File

@@ -16,6 +16,39 @@ BASENAME="Backup"
file="$BACKUP_DIR/$BASENAME.$DATE.$HOSTNAME.$TAG.zip" file="$BACKUP_DIR/$BASENAME.$DATE.$HOSTNAME.$TAG.zip"
time="`which time`" time="`which time`"
## Functions ##
function usage {
cat <<- EOF
Backup script for Hyperling's self-managed Docker setup.
Usage: $PROG [-u] [-d] [-h]
-u : Bring all containers up after the backup has finished.
-d : Bring all containers down before taking the backup.
-h : Display this help text.
Example:
$PROG -ud
EOF
exit $1
}
## Parameters ##
up=FALSE
down=FALSE
while getopts ':udh' opt; do
case "$opt" in
u) up=TRUE ;;
d) down=TRUE ;;
h) usage 0 ;;
*) echo "ERROR: Option $OPTARG not recognized." >&2
usage 1 ;;
esac
done
## Main ## ## Main ##
# Ensure backup directory exists with correct permissions. # Ensure backup directory exists with correct permissions.
@@ -30,8 +63,10 @@ cd "$BACKUP_DIR"
mv -v "$BASENAME"*"$TAG"* TRASH/ mv -v "$BASENAME"*"$TAG"* TRASH/
rm -v TRASH/* rm -v TRASH/*
echo -e "\n`date` - Take down services for a cold backup." if [[ "$down" == "TRUE" ]]; then
manage.sh -d echo -e "\n`date` - Take down services for a cold backup."
manage.sh -d
fi
echo -e "\n`date` - Create the backup for '$DOCKER_HOME'." echo -e "\n`date` - Create the backup for '$DOCKER_HOME'."
$time zip -r $file.tmp \ $time zip -r $file.tmp \
@@ -46,8 +81,10 @@ ls -sh $file
echo -e "\n`date` - Ensure other users can access the file." echo -e "\n`date` - Ensure other users can access the file."
chmod -v 755 $file chmod -v 755 $file
echo -e "\n`date` - Bring services back up." if [[ "$up" == "TRUE" ]]; then
manage.sh -u echo -e "\n`date` - Bring services back up."
manage.sh -u
fi
## Finish ## ## Finish ##