SFTPにID,PASSWORDでログインする場合
対話的なログインにsshpassを使います
例えば日時が最新のnginxのログファイルをSFTPを使ってアップロードする処理
sftp.sh
#!/usr/bin/sh
SFTP_HOST=hogehoge.domain
SFTP_ID=hogehoge
SFTP_PW=passw0rd
NEW_LOG_FILE=`ls -lt /var/log/nginx/access.log.* |head -n 1 |gawk '{print $9}'`
sshpass -p $SFTP_PW sftp ${SFTP_ID}@${SFTP_HOST} << EOF
put $NEW_LOG_FILE
bye
EOF
ログイン後SFTPの処理はEOFの間に記述します。