allow create remote dir if not exist

This commit is contained in:
Nguyen Huu Thuong
2020-06-12 11:55:03 +02:00
parent 99f71eba98
commit 4c5c6aa53a

View File

@@ -20,6 +20,22 @@ createKeyFile() {
ssh-keyscan -t rsa "$INPUT_HOST" >> "$SSH_PATH/known_hosts"
}
check_remote_dir() {
local USEPASS=$1
local REMOTE=$2
CMD="ssh"
if $USEPASS; then
CMD="sshpass -p $INPUT_PASS scp"
fi
echo "Checking remote directory: '$REMOTE'"
if $CMD -o StrictHostKeyChecking=no -o ConnectTimeout=${INPUT_CONNECT_TIMEOUT:-30s} -p "${INPUT_PORT:-22}" "$INPUT_USER"@"$INPUT_HOST" "[ ! -d $REMOTE ]"; then
echo "Creating: '$REMOTE' on '$INPUT_USER'@'$INPUT_HOST'"
-o StrictHostKeyChecking=no -o ConnectTimeout=${INPUT_CONNECT_TIMEOUT:-30s} -p "${INPUT_PORT:-22}" "$INPUT_USER"@"$INPUT_HOST" "mkdir -p $REMOTE"
else
echo "'$REMOTE' exists [OK]"
fi
}
executeSCP() {
local USEPASS=$1
local LINES=$2
@@ -50,6 +66,7 @@ executeSCP() {
if [[ -z "${LOCAL}" ]] || [[ -z "${REMOTE}" ]]; then
echo "LOCAL/REMOTE can not be parsed $LINE"
else
check_remote_dir $USEPASS $REMOTE
echo "Copying $LOCAL ---> $REMOTE"
$CMD -r -o StrictHostKeyChecking=no -o ConnectTimeout=${INPUT_CONNECT_TIMEOUT:-30s} -P "${INPUT_PORT:-22}" $LOCAL "$INPUT_USER"@"$INPUT_HOST":$REMOTE > /dev/stdout
fi