我是Linux和perl的新手。我们的一个linux机器上有一个perl脚本,它可以从另一台linux机器上下载每天生成的日志文件。这个脚本两个月前停止了,现在当我试图再次运行它时,它给了"Net::FTP=GLOB(0x87423fc)<<< 550参数太长“错误,我查找了源程序上的文件,发现到目前为止已经创建了大约36000个日志文件。
(供测试用途1.)我使用linux命令连接到源计算机,并使用ls列出文件,这是成功的。2.)我还登录到源机器,并在日志文件目录中运行ls命令,它成功地列出了这些文件。
有人能告诉我为什么perl脚本会从服务器获取550条错误代码来列出这些文件吗?
下面是用于下载文件的perl脚本的调试日志跟踪:-
Net::FTP>>> Net::FTP(2.77)
Net::FTP>>> Exporter(5.58)
Net::FTP>>> Net::Cmd(2.28)
Net::FTP>>> IO::Socket::INET(1.31)
Net::FTP>>> IO::Socket(1.30)
Net::FTP>>> IO::Handle(1.27)
Net::FTP=GLOB(0x87423fc)<<< 220 hostname.server FTP server (Version wu-2.6.2-5-ncx-1 Wed Jun 29 14:53:11 CEST 2005) ready.
Net::FTP=GLOB(0x87423fc)>>> USER USR
Net::FTP=GLOB(0x87423fc)<<< 331 Password required for USR.
Net::FTP=GLOB(0x87423fc)>>> PASS ....
Net::FTP=GLOB(0x87423fc)<<< 230 User USR logged in. Access restrictions apply.
Net::FTP=GLOB(0x87423fc)>>> CWD /backup
Net::FTP=GLOB(0x87423fc)<<< 250 CWD command successful.
Net::FTP=GLOB(0x87423fc)>>> PORT 192,168,1,154,217,0
Net::FTP=GLOB(0x87423fc)<<< 200 PORT command successful.
Net::FTP=GLOB(0x87423fc)>>> NLST
Net::FTP=GLOB(0x87423fc)<<< 550 Arguments too long
Net::FTP=GLOB(0x87423fc)>>> QUIT
Net::FTP=GLOB(0x87423fc)<<< 221-You have transferred 0 bytes in 0 files.
Net::FTP=GLOB(0x87423fc)<<< 221-Total traffic for this session was 393 bytes in 0 transfers.
Net::FTP=GLOB(0x87423fc)<<< 221-Thank you for using the FTP service on hostname.server
Net::FTP=GLOB(0x87423fc)<<< 221 Goodbye.提前谢谢
发布于 2012-10-19 18:21:39
这通常意味着NLST命令(即ls )的结果大于库的某些预先配置的阈值。
https://stackoverflow.com/questions/12978776
复制相似问题