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