天天看點

使用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的指令行中