better error checking for arguments and timeout
This commit is contained in:
parent
4367f4b69b
commit
dc6857fcdd
40
vvv.sh
40
vvv.sh
|
|
@ -10,7 +10,7 @@ if [[ $(id -u) -ne "0" ]]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
usage () {
|
usage () {
|
||||||
printf "Usage: vvv.sh <project>\n"
|
printf "Usage: vvv.sh <options> <project>\n"
|
||||||
printf " project = Compose project folder.\n"
|
printf " project = Compose project folder.\n"
|
||||||
printf " Option r: restore operation\n"
|
printf " Option r: restore operation\n"
|
||||||
printf " Option d: keep containers down - don't bring back up\n"
|
printf " Option d: keep containers down - don't bring back up\n"
|
||||||
|
|
@ -18,10 +18,10 @@ usage () {
|
||||||
|
|
||||||
RESTORE="false"
|
RESTORE="false"
|
||||||
DOWN="false"
|
DOWN="false"
|
||||||
OUTPUT=""
|
OUTPUT=" Option: BACKUP OPERATION"
|
||||||
while getopts ':rd' OPT; do
|
while getopts ':rd' OPT; do
|
||||||
case $OPT in
|
case $OPT in
|
||||||
r) RESTORE="true"; OUTPUT="${OUTPUT} Option: RESTORE OPERATION";;
|
r) RESTORE="true"; OUTPUT=" Option: RESTORE OPERATION";;
|
||||||
d) DOWN="true"; OUTPUT="${OUTPUT} Option: KEEP DOWN";;
|
d) DOWN="true"; OUTPUT="${OUTPUT} Option: KEEP DOWN";;
|
||||||
\?) usage; exit;;
|
\?) usage; exit;;
|
||||||
esac
|
esac
|
||||||
|
|
@ -33,6 +33,18 @@ if [[ $RESTORE == "true" ]] && [[ ! -f docker-restore.sh ]]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
ccheck () {
|
||||||
|
printf "${OUTPUT}\n"
|
||||||
|
REPLY=$'\n'
|
||||||
|
timeout 10 bash -c 'read -r -s -N 1 -p "Starting delay of 10 seconds. Press 'Escape' or 'q' to cancel..."'
|
||||||
|
if [[ $REPLY != $'\n' ]]; then
|
||||||
|
printf "${OUTPUT} cancelled.\n"
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
printf "${OUTPUT} starting.\n"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
scripts () {
|
scripts () {
|
||||||
for MODE in backup restore; do
|
for MODE in backup restore; do
|
||||||
FILE="docker-${MODE}.sh"
|
FILE="docker-${MODE}.sh"
|
||||||
|
|
@ -63,7 +75,7 @@ scripts () {
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
if [[ $# -lt 1 ]]; then
|
if [[ ! $# -eq 1 ]]; then
|
||||||
usage
|
usage
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
@ -80,6 +92,14 @@ if [[ -z "$VOLUMES" ]]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
printf "${OUTPUT}\n"
|
||||||
|
if timeout --preserve-status --foreground 10 bash -c 'read -r -s -N 1 -p "Starting delay of 10 seconds. Press a key to cancel... "'; then
|
||||||
|
printf "cancelled\n"
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
printf "starting\n"
|
||||||
|
fi
|
||||||
|
|
||||||
USER=$(stat -c '%u' $BASH_SOURCE)
|
USER=$(stat -c '%u' $BASH_SOURCE)
|
||||||
|
|
||||||
pushd "../${PROJECT}" > /dev/null || exit 1
|
pushd "../${PROJECT}" > /dev/null || exit 1
|
||||||
|
|
@ -89,7 +109,11 @@ if [[ ! $RESTORE == "true" ]]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for COMP in docker-compose*.yml; do
|
for COMP in docker-compose*.yml; do
|
||||||
|
if command -v docker-compose; then
|
||||||
|
COMMAND="docker-compose -f $COMP stop"
|
||||||
|
else
|
||||||
COMMAND="docker compose -f $COMP stop"
|
COMMAND="docker compose -f $COMP stop"
|
||||||
|
fi
|
||||||
printf "${COMMAND}\n"
|
printf "${COMMAND}\n"
|
||||||
if ! bash -c "${COMMAND}"; then
|
if ! bash -c "${COMMAND}"; then
|
||||||
printf "Services 'docker compose stop' error."
|
printf "Services 'docker compose stop' error."
|
||||||
|
|
@ -98,7 +122,11 @@ for COMP in docker-compose*.yml; do
|
||||||
done
|
done
|
||||||
|
|
||||||
for COMP in docker-compose*.yml; do
|
for COMP in docker-compose*.yml; do
|
||||||
|
if command -v docker-compose; then
|
||||||
|
COMMAND="docker-compose -f $COMP rm -f"
|
||||||
|
else
|
||||||
COMMAND="docker compose -f $COMP rm -f"
|
COMMAND="docker compose -f $COMP rm -f"
|
||||||
|
fi
|
||||||
printf "${COMMAND}\n"
|
printf "${COMMAND}\n"
|
||||||
if ! bash -c "${COMMAND}"; then
|
if ! bash -c "${COMMAND}"; then
|
||||||
printf "Services 'docker compose rm' error."
|
printf "Services 'docker compose rm' error."
|
||||||
|
|
@ -112,7 +140,11 @@ else
|
||||||
bash "./docker-backup.sh"
|
bash "./docker-backup.sh"
|
||||||
if [[ $DOWN = "false" ]]; then
|
if [[ $DOWN = "false" ]]; then
|
||||||
for COMP in docker-compose*.yml; do
|
for COMP in docker-compose*.yml; do
|
||||||
|
if command -v docker-compose; then
|
||||||
|
COMMAND="docker-compose -f $COMP up -d"
|
||||||
|
else
|
||||||
COMMAND="docker compose -f $COMP up -d"
|
COMMAND="docker compose -f $COMP up -d"
|
||||||
|
fi
|
||||||
printf "${COMMAND}\n"
|
printf "${COMMAND}\n"
|
||||||
if ! bash -c "${COMMAND}"; then
|
if ! bash -c "${COMMAND}"; then
|
||||||
printf "Services 'up' error."
|
printf "Services 'up' error."
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue