• 締切済み

rftpでputできない

rftpでファイルをputすると、ファイルが0バイトで送られます。 例えば、ファイル名"foo"をputした場合: ftp> put foo 200 PORT command successful. 150 Opening BINARY mode data connection for foo. local: foo: Bad file number 226 Transfer complete. 一方、ftpでputした場合、成功します。 ftp> put foo 200 PORT command successful. 150 Opening ASCII mode data connection for foo. 226 Transfer complete. local: foo remote: foo 13 bytes sent in 0.00019 seconds (66.82 Kbytes/s) Socksは別のマシンでSocks5-v1.0r10が動いており、設定も問題ないと考えています。いずれも、OSはSolaris 7です。明示的にbinary/asciiモードの両方で試しましたが、同じ結果です。なお、送信するファイルの種類に依存しません。 なぜ「Bad file number」でファイルのオープンがはじかれるのか、情報をお持ちの方、是非、知恵を貸して下さい。

  • mod
  • お礼率68% (24/35)

みんなの回答

  • hofuhofu
  • ベストアンサー率70% (336/476)
回答No.3

dirとputの違いはありますが、これと一緒の症状だと思います。 http://www.sockscap.com/mail/socks5/msg00760.html

mod
質問者

お礼

ご紹介、ありがとうございました。FTPサーバがマルチホームではないので該当しませんでしたが、別スレッドより同一の症状を見つけることができました! http://www.sockscap.com/mail/socks5/msg01475.html Socks5の当リリースにおけるバグで、パッチの適応で解決するようですが、私自身では、まだ未確認です。 http://www.sockscap.com/mail/socks5/msg01485.html

  • me_no_car
  • ベストアンサー率24% (22/90)
回答No.2

ここになんか似たような現象のやつがありますよ。 参考になるかもしれません。

参考URL:
http://www.delegate.org/delegate/goiken/archive/092/57
mod
質問者

お礼

参考URLのご紹介、ありがとうございます。接続ポートの部分で、参考になりました。ところが、特に何の設定や手順を変えずとも、rftpでのputが可能になったのです。その後、間欠で現象は再現しますが。とにかく、原因の究明について、謎は深まるばかりです…

  • riyop
  • ベストアンサー率41% (7/17)
回答No.1

rftpを使ったことがないですので回答ではないですが、 sftpとかscp、rsyncなどを使ってみてはいかがでしょうか。

mod
質問者

お礼

アドバイスありがとうございます。rftp実行時の障害ととらえており、それを解決する方向で進めたいので、今回は別コマンドでの代行はないと考えています。ありがとうございました。

関連するQ&A

  • FTPのコマンド「mput」について

    FTPで、ファイルを一括して、サーバーに送りたいのですが、その際に 「mput *.* *.*」などとすると、それぞれのファイルが2回putされます。これは、仕様でしょうか。 例えば、1つのファイル「A.txt」を mput した場合と、put した場合では、下記のようになります。 <mput> ************************ ftp> mput A.txt A.txt 200 PORT command successful. 150 Opening BINARY mode data connection for A.txt. 226 Transfer complete. ftp: 159232 bytes sent in 0.01Seconds 10615.47Kbytes/sec. 200 PORT command successful. 150 Opening BINARY mode data connection for A.txt. 226 Transfer complete. ftp: 159232 bytes sent in 0.00Seconds 159232000.00Kbytes/sec. ************************ <put> ************************ ftp> put A.txt A.txt 200 PORT command successful. 150 Opening BINARY mode data connection for A.txt. 226 Transfer complete. ftp: 159232 bytes sent in 0.01Seconds 10615.47Kbytes/sec. ************************

  • windows10上でのftpサーバにて550

    お世話になります。 windows10上にftpサーバを作成し、win10クライアントから windows標準のftp.exeでアクセスしています。 以下のファイルにアクセスしようとしていますが、lsコマンド で目的のファイルがない場合、550のエラーが発生してしまいます。 windows7上に作成したftpサーバでは226が返ってきます。 何とか、windows10で実行した場合でも、windows7と同じ結果 (226)を返すことはできないでしょうか。 バージョン iis10.0 ftp10.0 例 ftpサーバ folder01/aaa windows7 ftp> ls /folder01/aaa 200 PORT command successful. 125 Data connection already open; Transfer starting. /folder01/aaa/aaa 226 Transfer complete. ftp: 35 バイトが受信されました 0.00秒 35000.00KB/秒。 ftp> ls /folder01/bbb 200 PORT command successful. 125 Data connection already open; Transfer starting. 226 Transfer complete. windows10 ftp> ls /folder01/aaa 200 PORT command successful. 125 Data connection already open; Transfer starting. /folder01/aaa/aaa 226 Transfer complete. ftp: 35 バイトが受信されました 0.00秒 35000.00KB/秒。 ftp> ls /folder01/bbb 200 PORT command successful. 550 The system cannot find the file specified.

  • FTPの操作をbatファイル化したいです!

    windowsXP上から、UNIXのサーバーに対して、コマンドプロントを使用し、以下のようなコマンドを打ちたいのですが、毎回この作業をするのは大変なので、以下のコマンドをbatファイル化したいのですが、どのようにすればいいかわかりません。 参考になるようなサイトもいくつか見たのですが、いまいちわからないので、このサイトを参考にして下さいとの回答ではなく、ずばりbatファイルにどのように書けばいいのか教えてください。 お願いします。 C:\Documents and Settings\name>ftp ftp> open 10.1.1.1 Connected to 10.1.1.1. 220 ProFTPD 1.2.2 Server (ProFTPD) [tdc01s] User (10.1.1.1:(none)): loginname 331 Password required for loginname. Password: 230 User loginname logged in. ftp> cd .. 250 CWD command successful. ftp> cd .. 250 CWD command successful. ftp> cd tmp 250 CWD command successful. ftp> put test.txt 200 PORT command successful. 150 Opening ASCII mode data connection for test.txt. 226 Transfer complete. ftp: 4 bytes sent in 0.00Seconds 4000.00Kbytes/sec. ftp> bye 221 Goodbye.

  • 自動ftpバッチで転送速度をろぐに出す方法

    こんにちは windows2008で自動ftpバッチファイルを作成ししています。 自動ftpは出来るのですが、転送速度がログに出力されません。 具体的には手動でftpすると以下のように表示される「24000.00KB/秒」という部分を ログに出したいです。 200 PORT command successful. 150 Opening ASCII mode data connection for autoexec.bat. 226 Transfer complete. ftp: 24 バイトが送信されました 0.00秒 24000.00KB/秒。 そもそもログに表示させることはできないのでしょうか? お分かりの方、お教えください。 今作っているバッチファイルはこんな感じです。 ftpauto.txt ---------------- ftp -s:ftpcmd.txt>>ftp.log 2>&1 ftpcmd.txt ---------------- open XX.XX.XX.XX user-id Password bin cd / lcd C:\ put XXX disconnect bye ------------------------------------ 宜しくお願いします。

  • FTP PASV後毎回425になる件

    お読み頂き有難う御座います。 FTPでPASVを使用しファイルを送信する際、初回Put時『425 Cannot open data connection.』となります。PASVモードを指定し数秒待ったあと、Putしても同様 の現象です。 サーバ側の設定等で対処可能なのか、クライアント側による425が返却された場合 にリトライを行う対処が正しいのか、ご経験のあるかたアドバイスをお願いします。 【環境】 サーバOS:WindowsServer2019 サーバポート解放状況:20,21,65500-65510 クライアントOS:Windows10 【コマンドログ】 C:\Users\xxxxxxxx>ftp -d xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx に接続しました。 220 Microsoft FTP Service ユーザー (xxx.xxx.xxx.xxx:(none)): xxxxxxxx ---> USER xxxxxxxx 331 Password required パスワード: ---> PASS asonetestpass 230 User logged in. ftp> bin ---> TYPE I 200 Type set to I. ftp> quote PASV ---> PASV 227 Entering Passive Mode (xxx,xxx,xxx,xxx,xxx,xxx). ftp> put hoge.txt ---> PORT xxx,xxx,xxx,xxx,xxx,xxx 200 PORT command successful. ---> STOR hoge.txt 150 Opening BINARY mode data connection. 425 Cannot open data connection. ftp> put hoge.txt ---> PORT xxx,xxx,xxx,xxx,xxx,xxx 200 PORT command successful. ---> STOR hoge.txt 125 Data connection already open; Transfer starting. 226 Transfer complete. ftp> ftp> by ---> QUIT 221 Goodbye.

  • コマンドプロンプトでftpで接続したのですが

    勉強のために、コマンドプロンプトでftpをしたいのです。 マシンは相手も自分もWindowsで、LANでつながっています。 ftp (IPアドレス) と入力すると、ユーザ名とパスワードを求められ、入力すると、 ftp> というプロンプトに変わります。 dirと入力すると、ローカルのファイルが表示されると思うのですが、 ftp> dir 200 PORT command successful. 150 Opening ASCII mode data connection for /bin/ls. 226 Transfer complete. と表示されるだけで、ファイルは表示されません。 どうすれば表示されますか。 また、pwdと表示すると相手側のカレントディレクトリが表示されると思うのですが、 ftp> pwd 257 "/" is current directory. と表示されます。 この"/"が相手のマシン上で実際にどのフォルダなのかは、どうやってわかりますか。 自分のマシンはWindowsXP 相手のマシンはWindows2000

  • WindowsXP Pro でFTPのファイル一覧がでない

    WindowsXP ProでローカルなLANにつながっているFTPサーバ にアクセスしました。ログインは出来ますが以下の様なメッセージで止まり 一覧表示がでません。 200 PORT command successful 150 Opening ASCII mode data connection for directory listing ちなみにもう一台のパソコン(Win98)からコマンドプロンプトで FTPサーバにアクセスすると正常にアクセスできます。一覧表示は 200 PORT command successful 150 Opening ASCII mode data connection for directory listing drwxr--r-- 1 501 501 0 FEB 25 2002 . drwxr--r-- 1 501 501 0 FEB 25 2002 .. -rwxr--r-- 1 501 501 650400 Oct 09 2002 DATA のような形式です。  LANに接続している機器は、3台だけです。  XPのファイアウオールのチェックをはずしたり、パッシブモードにしたり 色々試しましたが うまくいきません。  何か良い方法はないでしょうか? どうぞ宜しくお願いします。

  • ftpコマンドバッチファイルのリダイレクト結果

    以下のようなバッチファイルを作成しました ftp -s:ftpcmd.txt > ftplog.txt FIND /i "226 Transfer complete" ftplog.txt >NUL exit /b %ERRORLEVEL% ftpcmd.txt open hoge anonymous hoge prompt cd /xxxx/ put test.txt quit こうする事でftp送信が正常に終了したかどうかを exitの終了コードで判断しようとしていたのです バッチファイルを手動で動作させたところ成功です しかしこのバッチファイルを Webサーバのサーブレット(javaプログラム)から 動作させるとftplog.txtの出力結果がなぜか プログラムから実行した時のftplog.txt User (hoge:(none)): open hoge prompt cd /xxx/ put test.txt quit こんな結果になってしまうんです あれれ?ftpコマンドが出力するメッセージがリダイレクトされない んです 手動でこのバッチファイルを実行した時は 以下のようになります 226 Transfer complete. のメッセージがサーブレットからバッチファイルを実行しても ftplogファイルに出力されるように したいのですが 何かいい方法はないでしょうか? 手動実行した場合のftplog.txt ftp> Connected to hoge open hoge 220 Microsoft FTP Service User (hoge:(none)): 331 Anonymous access allowed, send identity (e-mail name) as password. 230 Anonymous user logged in. ftp> Interactive mode Off . ftp> prompt cd /xxx/ 250 CWD command successful. ftp> put test.txt 200 PORT command successful. 150 Opening ASCII mode data connection for test.txt. 226 Transfer complete. ftp: 59523 bytes sent in 0.00Seconds 59523000.00Kbytes/sec. ftp> quit 221

  • FTPフォルダエラー

    FTPサーバーにファイルをコピー中にエラーが発生しました。 このサーバーにファイルを置くアクセス許可が与えられているかどうかを確認してください。 詳細: 200 Binary Mode 200 PORT command successful. 425 Can't open data connection. 対処方法を教えてください。

  • linuxマシン(ローカル)からのダウンロード

    linuxマシン(ローカル)から、レンタルサーバ(さくら) のバックアップファィルを自動でダウンロードしようとしています  linuxマシンのサーバで下記のようにコマンドを順番にたたくとダウンロード できます   ================================================================ [root@linux ~]# ftp -i ***.***.***.***  Connected to ***.***.***.***. 220 ProFTPD 1.3.3g Server (SAKURA Internet FTP Server) [***.***.***.***] 500 AUTH not understood 500 AUTH not understood KERBEROS_V4 rejected as an authentication type Name (112.78.112.40:root): abcde 331 Password required for abcde Password: 230 User abcde logged in Remote system type is UNIX. Using binary mode to transfer files. ftp> passive Passive mode off. ftp> binary 200 Type set to I ftp> cd /home/abcde/backup/ 250 CWD command successful ftp> mget bak* local: bak-mysql-20111226.sql.gz remote: bak-mysql-20111226.sql.gz 200 PORT command successful 150 Opening BINARY mode data connection for bak-mysql-20111226.sql.gz (2431811 bytes) 226 Transfer complete 2431811 bytes received in 0.43 seconds (5.5e+03 Kbytes/s) local: bak-mysql-20111111.sql.gz remote: bak-mysql-20111111.sql.gz 200 PORT command successful 150 Opening BINARY mode data connection for bak-mysql-20111111.sql.gz (2459206 bytes) 226 Transfer complete 2459206 bytes received in 0.44 seconds (5.5e+03 Kbytes/s) ftp> quit 221 Goodbye. =================================================================  次に、シェル等をcronに登録して自動化したいので下記URLを http://q.hatena.ne.jp/1244629690 参考にして次のスクリプトを記載してlinuxマシンの/root に入れました =================ftp_all.sh=========================== #!/bin/csh -f #"@(#)ftp_all.sh 1995/07/01 Copyright(C)1995 ASH" # # name: ftp all files # ftp -n ***.***.***.*** << _EOD user (ユーザ名) (パスワード) passive binary cd /home/*****/backup mget bak*.* bye _EOD ======================================================== そして、ローカルサーバから # sh ftp_all.shとたたくと 下記のようになりスクリプト(?)がうまく働いてないように みえます ===================================================== : command not found AUTH not understood AUTH not understood KERBEROS_V4 rejected as an authentication type Login incorrect. Login failed. ?Invalid command ?Invalid command Please login with USER and PASS Please login with USER and PASS Passive mode refused. Turning off passive mode. Please login with USER and PASS ftp: bind: Address already in use ?Invalid command ===================================================== これとは別にWindowsマシンからのバッチファイルでは ダウンロードできるのですが、linuxのローカル側から ダウンロードしたいので・・・ どなたか、どのようにすれば自動化できるか教えていただけないで しょうか よろしくお願いします。