Added support for setting SSH port

This commit is contained in:
Laurent Cozic
2016-08-15 12:01:37 +01:00
parent 9c5046e518
commit 6157826651
+10 -2
View File
@@ -33,6 +33,9 @@ trap 'fn_terminate_script' SIGINT
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
fn_display_usage() { fn_display_usage() {
fn_log_info "Usage : $(basename $0) [args] <source> <[user@host:]destination> [exclude-pattern-file]" fn_log_info "Usage : $(basename $0) [args] <source> <[user@host:]destination> [exclude-pattern-file]"
fn_log_info ""
fn_log_info "Options:"
fn_log_info "-p, --port SSH port"
} }
fn_parse_date() { fn_parse_date() {
@@ -66,7 +69,7 @@ fn_parse_ssh() {
SSH_USER=$(echo "$DEST_FOLDER" | sed -E 's/^([A-Za-z0-9\._%\+\-]+)@([A-Za-z0-9.\-]+)\:(.+)$/\1/') SSH_USER=$(echo "$DEST_FOLDER" | sed -E 's/^([A-Za-z0-9\._%\+\-]+)@([A-Za-z0-9.\-]+)\:(.+)$/\1/')
SSH_HOST=$(echo "$DEST_FOLDER" | sed -E 's/^([A-Za-z0-9\._%\+\-]+)@([A-Za-z0-9.\-]+)\:(.+)$/\2/') SSH_HOST=$(echo "$DEST_FOLDER" | sed -E 's/^([A-Za-z0-9\._%\+\-]+)@([A-Za-z0-9.\-]+)\:(.+)$/\2/')
SSH_DEST_FOLDER=$(echo "$DEST_FOLDER" | sed -E 's/^([A-Za-z0-9\._%\+\-]+)@([A-Za-z0-9.\-]+)\:(.+)$/\3/') SSH_DEST_FOLDER=$(echo "$DEST_FOLDER" | sed -E 's/^([A-Za-z0-9\._%\+\-]+)@([A-Za-z0-9.\-]+)\:(.+)$/\3/')
SSH_CMD="ssh ${SSH_USER}@${SSH_HOST}" SSH_CMD="ssh -p $SSH_PORT ${SSH_USER}@${SSH_HOST}"
SSH_FOLDER_PREFIX="${SSH_USER}@${SSH_HOST}:" SSH_FOLDER_PREFIX="${SSH_USER}@${SSH_HOST}:"
fi fi
} }
@@ -112,6 +115,7 @@ SSH_HOST=""
SSH_DEST_FOLDER="" SSH_DEST_FOLDER=""
SSH_CMD="" SSH_CMD=""
SSH_FOLDER_PREFIX="" SSH_FOLDER_PREFIX=""
SSH_PORT="22"
SRC_FOLDER="" SRC_FOLDER=""
DEST_FOLDER="" DEST_FOLDER=""
@@ -123,6 +127,10 @@ while :; do
fn_display_usage fn_display_usage
exit exit
;; ;;
-p|--port)
shift
SSH_PORT=$1
;;
--) --)
shift shift
SRC_FOLDER="${1%/}" SRC_FOLDER="${1%/}"
@@ -310,7 +318,7 @@ while : ; do
CMD="rsync" CMD="rsync"
if [ -n "$SSH_CMD" ]; then if [ -n "$SSH_CMD" ]; then
CMD="$CMD -e 'ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null'" CMD="$CMD -e 'ssh -p $SSH_PORT -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null'"
fi fi
CMD="$CMD --compress" CMD="$CMD --compress"
CMD="$CMD --numeric-ids" CMD="$CMD --numeric-ids"