我有一个在服务器上运行的脚本作为cron作业,使用ncftpget
下载文件。它失败了。
我尝试调查并发现以下命令不起作用:
ncftpget -v -E ftp://ftp.anexample.org/d1/d2/list
它说(非常相似):
ncftp : Server said : Cannot connect to port XXXX : Connection timed out.
由于活动模式不起作用,我尝试使用-F选项进行PASV模式,并立即失败。因此,无论是主动模式还是被动模式都不适用于ftp站点。而对于其他ftp网站,事情进展顺利。请让我知道可能是什么原因以及如何解决它。
答案 0 :(得分:2)
该命令应为ncftpget -v -E ftp.anexample.org/d1/d2/list
答案 1 :(得分:0)
您是否能够与ncftp客户端本身(而不是自动ncftpget)进行手动连接?您是否检查过明显的内容 - 例如确保ftp.anexample.org在线,并且您可以连接到相应的TCP端口? (试试“telnet ftp.anexmple.org 21”)?
它闻起来像防火墙问题 - 也许远程服务器管理员需要配置他们的防火墙接受来自您的IP地址的连接?对于提供商来说并不是那么不寻常 - 尤其是通过FTP交换专有信息的提供商 - 将其防火墙/服务器收紧,只允许来自特定服务器的连接。
因此,在尝试自动化之前,请完成手动步骤以确保连接存在。
答案 2 :(得分:0)
我知道这篇文章已经过时了,但我在谷歌搜索时找到了它,所以我要添加我的评论。我遇到了类似的问题,这显然与我自己的防火墙有关。关闭它并尝试命令修复它。现在我只需要找到更好的解决方案。
有趣的阅读: https://www.ncftp.com/ncftpd/doc/misc/ftp_and_firewalls.html