0

私は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.

前もって感謝します

4

1 に答える 1

2

これは通常、NLST コマンド (つまり ls ) の結果が、ライブラリに対して事前に構成されたしきい値よりも大きいことを意味します。

于 2012-10-19T18:21:39.177 に答える