ftp等待服务器响应,有时FTP服务器的响应有时无法检测到

我在一系列成功的转换中碰到了这个研究中的单个丢失的226代码。我的ftp命令正在从VBScript调用,但在其他方面与你相似:

ftp -i -n -s:"\path\to\cmdfile.txt" [ftpserver] > "\path\to\stdout.log" 2> "\path\to\stderr.log"

因为-n开关和匿名登录,我的命令文件稍有不同:

USER anonymous

cd [UploadDirectory]

binary

put [file]

quit

正如你提到的, STDERR流总是显示为空 - 即使连接不成功。在我所有的测试中,我从未见过STDERR包含任何信息。 STDOUT,但是,包含一个完整的日志中的事务:

220 Unauthorized access to this server is prohibited. All actions are logged.

USER anonymous

230-Anonmyous Access

230 Login successful.

cd [UploadDirectory]

250 Directory successfully changed.

binary

200 Switching to Binary mode.

put "[file]"

200 PORT command successful. Consider using PASV.

150 Ok to send data.

226 Transfer complete.

1058.3090.82quit

221 Goodbye.

相反管道命令找到,因为在你的例子中,我解析的比赛是在“做的时间stdout文件和99% 226转移完成。“; 1%的时间我只看到

150 Ok to send data

quit

在缺少226的情况下,该文件被成功传输(??)并且完好无损。所有这一切都可以说,尽管不像输出管道那样优雅,解析STDOUT文件应该会给你想要的结果。

我能想到的其他一些项目:

大多数调度/ cron的问题由路径和权限引起的。 MS计划程序包括一个“开始(文件夹)”选项 - 您是否尝试将其设置到批处理文件目录?此外,运行计划作业的用户帐户可能应该在该批处理使用的所有文件和文件夹上被授予显式(未继承)权限。如果批处理从命令行始终如一地工作,但在调度程序上失败,则可能会有更多权限问题,而不仅仅是将调度程序用户帐户添加到管理员组。

你的服务器ftp日志显示什么?我的ftp服务器是vsftpd(Linux),我的服务器日志基本上模仿了重定向捕获的STDOUT流(带有一些附加信息)。这可能会告诉你传输成功代码是否从你的ftp服务器传输过来。

可能不是原因,但考虑使用/ I开关与FIND使其不区分大小写

您是否尝试过使用重定向命令?类似于: ftp ... 2> & 1 |找到...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值