1. 程式人生 > >shell指令碼進行sftp檔案下載

shell指令碼進行sftp檔案下載

方式一:

#/usr/bin/expect -f
set userna zhangsan
set passwd 123456
set ip 192.168.0.1
set dir /123/456
spawn sftp [email protected]$ip
expect "password:"
send  $passwd\r
expect "sftp> "
send -- "cd $dir\r"
expect "sftp> "
send -- "get *\r"
expect "sftp>"
send -- "bye\r"
expect eof
執行:/usr/bin/expect zhangsan.sh

zhangsan.sh為指令碼名。

方式二:

#!/bin/bash

USER=zhangsan
#密碼
PASSWORD=123456
#下載檔案目錄
SRCDIR=/123/456
#FTP目錄(待下載檔案目錄)
DESDIR=/123/456
#IP
IP=192.168.0.1
#埠
PORT=22
#需要下載的檔案為fileName
fileName="123_`date +%Y%m%d%H`.sql"
lftp -u ${USER},${PASSWORD} sftp://${IP}:${PORT}<<EOF
cd ${DESDIR}
lcd ${SRCDIR}

get $fileName
by
EOF