From 23d976de30aa1bbc90c54a85b14ed7766d317fab Mon Sep 17 00:00:00 2001 From: Steph Enders Date: Fri, 12 Dec 2025 16:11:23 -0500 Subject: Exit fetch if queue empty (and untabify) --- ssync-fetch | 41 +++++++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 18 deletions(-) (limited to 'ssync-fetch') 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" - -- cgit v1.2.3-54-g00ecf