私はLinuxとperlの完全な初心者です。Linuxボックスの1つにperlスクリプトがあり、毎日生成されるログファイルを別のLinuxマシンからダウンロードします。このスクリプトは2か月前に停止されましたが、もう一度実行しようとすると、「Net :: FTP = GLOB(0x87423fc)<<< 550引数が長すぎます」というエラーが表示され、ソースマシンでファイルを検索しました。これまでに約36000〜のログファイルが作成されていることがわかりました。
テスト目的1.)linux ftpコマンドを使用してソースマシンに接続し、lsを使用してファイルを一覧表示しました。これは成功しました。2.)ソースマシンにもログインし、ログファイルディレクトリにlsコマンドを実行すると、ファイルが正常に一覧表示されました。
それらのファイルをリストするためにサーバーから550エラーコードを取得しているperlスクリプトの場合、なぜこれが当てはまるのか誰かにアドバイスできますか?
以下は、ファイルのダウンロードに使用している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.
前もって感謝します