sftp使用shell脚本上传和下载文件

sftp在shell脚本中使用get -r命令会报错,下面是解决办法。

1、sftp命令get在终端命令行和shell脚本中有所区别,在终端命令行登录后,输入
get -r dir/.
可以下载dir目录下所有文件
但在shell脚本中使用get -r dir/. 会报错,提示无效选项 -r。

解决办法:
由于在sftp使用?查看命令少mget,其实mget是可以使用的,使用mget dir/*来下载所有文件,
下面上个shell脚本,有需要的直接改下用户名、密码、下载目录就能使用,如果上传文件mget改成put。

[root@ xxx]# vim 01-test.sh
#!/bin/bash
#用户
USER=xxx
#密码
PASSWORD=xxx

#本机所需下载到的目录名称
dir=abc01
cd ${dir}

#sftp目录(待下载文件目录)
dir=abc

#sftp的IP
IP=192.168.1.66
#端口
#PORT=22

lftp -u ${USER},${PASSWORD} sftp://${IP} << EOF
cd  ${dir}
mget -c *
by
EOF

你可能感兴趣的:(系统,shell)