shell指令碼進行sftp檔案下載
阿新 • • 發佈:2019-01-05
方式一:
#/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