我的 Ubuntu 中的命令行 sftp 没有实现递归放置。我发现了 2004 年关于使用 -R 选项开关实现此类功能的一些争论。所以我认为某种自制的递归是唯一的选择。
IE。
我打算用 bash 来做这件事,但任何其他语言都足够了。
Rsync 或 scp 不是一个选项,因为我没有对服务器的 shell 访问权限。只有sftp。
最佳答案
看 lftp .它是一个强大的文件传输客户端,支持 ftp、ftps、http、https、hftp、fish(通过 ssh shell session 传输文件)和 sftp .它具有类似 ftp 的交互界面,但也允许在命令行指定所有命令。看 mput
(非递归但处理全局模式)和 mirror
(穷人的 rsync)命令。
我将它与仅处理 sftp 上传的服务器一起使用:
lftp -c "open -u $MYUSER,$MYPASSWORD sftp://$TARGET ; mirror -R $SOME_DIRECTORY"
关于recursion - 如何在sftp中实现递归放置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1595565/