# 前言
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 <<EOF
type binary
prompt
$sss
cd /app
$aaa
quit
EOF
```
## 遗留问题
由于不同于ftp,sftp要输入密码。这个涉及到ssh等问题。暂时不考虑。
参考:
https://blog.csdn.net/wenshuangzhu/article/details/44061125
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15150236/viewspace-2168577/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/15150236/viewspace-2168577/
本文介绍了一种使用SFTP批量上传整个文件夹的方法,通过bash脚本结合find、awk等命令实现自动化处理。该方案适用于需要频繁上传大量文件夹到远程服务器的场景。

3万+

被折叠的 条评论
为什么被折叠?



