From 7dcf55629d9509a9018d44bd4556852792699ee7 Mon Sep 17 00:00:00 2001 From: Hyperling Date: Sun, 29 Mar 2026 16:57:03 -0700 Subject: [PATCH] Add script to pull clones easily. --- bin-shared/pull-clone.sh | 47 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100755 bin-shared/pull-clone.sh diff --git a/bin-shared/pull-clone.sh b/bin-shared/pull-clone.sh new file mode 100755 index 0000000..c8aad48 --- /dev/null +++ b/bin-shared/pull-clone.sh @@ -0,0 +1,47 @@ +#!/usr/bin/env bash + +# TBD: +# - merge into send-master script and use a variable to control push vs pull. + +## Variables ## + +PROG="$(basename -- "${BASH_SOURCE[0]}")" +loop=false + +DIR="`pwd`" +dir="`basename $DIR`" + +## Validations ## + +if [[ "$DIR" != *"-clone" ]]; then + echo "'$DIR' is not labeled as a clone. Skipping download." + exit 0 +fi + +## Main ## + +echo "`date` - Pulling" \ + "'$PROD_DATA_USER@$PROD_DATA_HOST:$PROD_DATA_PORT$PROD_DATA_DIR/$dir'" \ + "to '$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