Add parameters and usage function to backup script.
This commit is contained in:
@@ -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 ##
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user