aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteph Enders <steph@senders.io>2025-12-12 16:11:23 -0500
committerSteph Enders <steph@senders.io>2025-12-12 16:11:23 -0500
commit23d976de30aa1bbc90c54a85b14ed7766d317fab (patch)
tree10792c61072201a64d943ea460530f5bf087f85b
parentcb37becde59dbfed5dd85842b246358a082bcd50 (diff)
Exit fetch if queue empty (and untabify)
-rwxr-xr-xssync-fetch41
1 files changed, 23 insertions, 18 deletions
diff --git a/ssync-fetch b/ssync-fetch
index 2a79e64..c930c54 100755
--- a/ssync-fetch
+++ b/ssync-fetch
@@ -20,6 +20,9 @@ function verbose_log {
echo "$@"
fi
}
+function lines {
+ echo $(wc -l $1 | cut -d' ' -f1)
+}
# OPTIONS
@@ -31,20 +34,20 @@ VERBOSE_FLAG=
while getopts "hvr:k:" opt; do
case "${opt}" in
- h) echo "$USAGE"
- exit 1
- ;;
- v) VERBOSE_FLAG=1
- ;;
- k) KEY_FILE_FLAG=1
- KEY_FILE_ARG="${OPTARG}"
- ;;
- c) CONCURRENCY_FLAG=1
- CONCURRENCY_ARG="${OPTARG}"
- ;;
- r) REMOTE_HOST_FLAG=1
- REMOTE_HOST_ARG="${OPTARG}"
- ;;
+ h) echo "$USAGE"
+ exit 1
+ ;;
+ v) VERBOSE_FLAG=1
+ ;;
+ k) KEY_FILE_FLAG=1
+ KEY_FILE_ARG="${OPTARG}"
+ ;;
+ c) CONCURRENCY_FLAG=1
+ CONCURRENCY_ARG="${OPTARG}"
+ ;;
+ r) REMOTE_HOST_FLAG=1
+ REMOTE_HOST_ARG="${OPTARG}"
+ ;;
esac
done
@@ -63,6 +66,9 @@ DEST_DIR=$2
if [ ! -f "$QUEUE_FILE" ]; then
echo "Queue file '$QUEUE_FILE' does not exist"
exit 1
+elif [ $(lines $QUEUE_FILE) -le 0 ]; then
+ echo "Queue file empty. Exiting"
+ exit 0
fi
if [ ! -d "$DEST_DIR" ]; then
@@ -83,8 +89,8 @@ fi
ssh_id_param=""
if [ ! -z "${KEY_FILE_FLAG}" ]; then
if [ ! -f "${KEY_FILE_ARG}" ]; then
- echo "Identity file '${KEY_FILE_ARG}' does not exist"
- exit 1
+ echo "Identity file '${KEY_FILE_ARG}' does not exist"
+ exit 1
fi
ssh_id_param="-i ${KEY_FILE_ARG}"
fi
@@ -92,7 +98,7 @@ fi
concurrent_param=""
if [ ! -z "${CONCURRENCY_FLAG}" ]; then
if [ "${CONCURRENCY_ARG}" -gt 0 ]; then
- concurrent_param="-X nrequests=${CONCURRENCY_ARG}"
+ concurrent_param="-X nrequests=${CONCURRENCY_ARG}"
fi
fi
real_dest=$(realpath $DEST_DIR)
@@ -111,4 +117,3 @@ verbose_log "sftp -N ${ssh_id_param} -b ${batch_file} ${REMOTE_HOST_ARG}"
sftp -N ${ssh_id_param} -b ${batch_file} ${REMOTE_HOST_ARG}
verbose_log "ssync-fetch finished"
-