![将整个目录通过 sftp 传输到远程机器?](https://linux22.com/image/1434795/%E5%B0%86%E6%95%B4%E4%B8%AA%E7%9B%AE%E5%BD%95%E9%80%9A%E8%BF%87%20sftp%20%E4%BC%A0%E8%BE%93%E5%88%B0%E8%BF%9C%E7%A8%8B%E6%9C%BA%E5%99%A8%EF%BC%9F.png)
注意:由于供应商的要求,无法使用 scp 或其他工具。
我已经设置了一个私钥,能够将大量文件上传到供应商的服务器。
假设我的所有文件都在 /etc/files 中,我想将它们上传为[电子邮件保护]:/文件/
有人告诉我可以使用 heredocs 来实现这一点,但我有点不确定。有什么建议吗?
我有一个私钥,所以我将通过 -i 标志使用它。
答案1
尝试
awk '{printf "put %s\n",$1}' /etc/files | sftp -b - -i mykey [email protected]:/files/
awk 只是将文件列表转换为
put file1
put file2
...
和
-b -
告诉 sftp 使用 stdin 作为批处理文件