generated from me/template-mit
49 lines
1001 B
Bash
Executable File
49 lines
1001 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# TBD:
|
|
# - add parameter to set loop=true, and accept a value for sleep seconds
|
|
# - allow passing the script a variable for the dir, rather than assuming curr
|
|
|
|
## Variables ##
|
|
|
|
PROG="$(basename -- "${BASH_SOURCE[0]}")"
|
|
loop=false
|
|
|
|
DIR="`pwd`"
|
|
dir="`basename $DIR`"
|
|
|
|
## Validations ##
|
|
|
|
if [[ "$DIR" != *"-MASTER" ]]; then
|
|
echo "'$DIR' is not labeled as a MASTER. Skipping upload."
|
|
exit 0
|
|
fi
|
|
|
|
## Main ##
|
|
|
|
new_dir="${dir//MASTER/clone}"
|
|
|
|
echo "`date` - Sending '$dir' to" \
|
|
"'$PROD_DATA_USER@$PROD_DATA_HOST:$PROD_DATA_PORT$PROD_DATA_DIR/$new_dir'"
|
|
|
|
sleep=0
|
|
while true; do
|
|
if (( $sleep > 0 )); then
|
|
echo "Sleeping for '$sleep' seconds..."
|
|
sleep $sleep
|
|
fi
|
|
clone -e "ssh -p $PROD_DATA_PORT" ./ \
|
|
$PROD_DATA_USER@$PROD_DATA_HOST:$PROD_DATA_DIR/$new_dir &&
|
|
echo "`date` - Success!" ||
|
|
echo "`date` - Failed!"
|
|
sleep=30
|
|
if [[ "$loop" == false ]]; then
|
|
break;
|
|
fi
|
|
done
|
|
|
|
## Complete ##
|
|
|
|
echo "`date` - $PROG complete."
|
|
exit 0
|