我们有一个使用内置的Windows命令行ftp客户端上传文件到FTP服务器的遗留系统。 它使用-s开关执行此操作,使用ftp文件如下所示:
debug open myftpsite.com 21 <username> <password> cd remote_folder ascii lcd "c:\myfolder" prompt put export.txt export.tx rename export.tx export.txt quit
这工作99%的时间,但其他1%的时间没有。 当它成功运行时,生成的日志文件包含来自服务器的响应消息,如上面的每个命令之后的“250 OK”。 这个问题有时似乎连接失败,我们在日志文件(从服务器或FTP客户端)根本没有消息。 ftp客户端似乎仍然返回一个进程退出码0。
有没有人有任何build议:
从内置的Windows命令行ftp客户端获得更好的日志logging? AND \ OR强制它返回一个不是0的进程退出代码来表示出了什么问题?
最好的办法是在使用FTP来尝试发现实际出错的情况下,在客户端或服务器上运行Wireshark或tcpdump。 像下面的例子应该是足够的。
tcpdump -vv -w ftp_capture.log port ftp
尝试使用主动或被动模式,看看是否是防火墙问题。 尝试更好的FTP客户端,如WinSCP或Filezilla。 最后,检查你是否需要使用FTP。 有更好更安全的选项,如SCP / SFTP。