天天看点

使用lftp免输入密码登录stfp的shell脚本

#!/bin/bash
# upload file command: sh sftpupload.sh ip username password localfilepath remotepath
# upload folder command: sh sftpupload.sh ip username password localfolderpath remotepath

if [ "$#" -eq "5" ]; then
    IP=$1
    USER=$2
    PWD=$3
    LOCAL=$4
    REMOTE=$5

    lftp -u ${USER},${PWD} sftp://${IP} <<EOF
    cd ${REMOTE}
    put ${LOCAL} 
    bye
EOF
elif [ "$#" -eq "6" ]; then
    IP=$1
    USER=$2
    PWD=$3
    LOCAL=$5
    REMOTE=$6

    lftp -u ${USER},${PWD} sftp://${IP} <<EOF
    cd ${REMOTE}
    mirror -R ${LOCAL}  
    bye
EOF
fi

           
  1. 注意if语句里面的空格
  2. EOF后面不能有空格,否则会报错
  3. 使用lftp命令实现免密码输入,采用重定向的方式,将EOF之间的文本输入到lftp的命令行中