# 前言

sftp上传单个文件使用put,多个文件可使用mput,但是要上传整个文件夹,则比较复杂,需要使用多个命令组合,包括find、awk等。

# sftp上传文件夹

```

#!/bin/bash

sss=`find /ngs/ecv1/AppServer -type d -printf /app/AppServer/'%P\n'| awk '{if ($0 == "")next;print "mkdir " $0}'`

aaa=`find /ngs/ecv1/AppServer -type f -printf 'put %p %P \n'`

sftp webuser@12.97.18.1 <

type binary

prompt

$sss

cd /app

$aaa

quit

EOF

```

## 遗留问题

由于不同于ftp,sftp要输入密码。这个涉及到ssh等问题。暂时不考虑。

参考:

https://blog.csdn.net/wenshuangzhu/article/details/44061125

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐