将整个目录通过 sftp 传输到远程机器?

将整个目录通过 sftp 传输到远程机器?

注意:由于供应商的要求,无法使用 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 作为批处理文件

相关内容