我如何编写 bash 文件以通过 sftp 命令将文件从 unix 框复制到 windows“远程”框???
答案1
对于自动化脚本,请尝试 scp 或 rsync。
来自“man sftp”:
-b batchfile 批处理模式从输入批处理文件而不是标准输入中读取一系列命令。由于它缺乏用户交互,因此应与非交互式身份验证结合使用。可以使用 â-â 批处理文件来指示标准输入。如果以下任何命令失败,sftp 将中止:get、put、rename、ln、rm、mkdir、chdir、ls、lchdir、chmod、chown、chgrp、lpwd、df 和 lmkdir。可以通过在命令前添加 â-â 字符(例如,-rm /tmp/blah*)来逐个命令地抑制因错误而终止。
也看看http://www.computing.net/answers/unix/automated-sftp-script/7006.html
答案2
Windows 的 cURL php 扩展支持 sftp。您应该尝试找到一个可以放在 Windows 服务器上并添加到计划作业中的 php 脚本。创建自己的脚本也不太难。我相信 python 和 .net 也支持 sftp。
或者,您可以在 Windows 上安装 cyqwin(nasty hack)并编写 bash 脚本。