• 締切済み

FTPのmputで出るnetoutについて

以下、FTPで行うmputについての質問です。 A.sh ************************* cat B.ftp | ftp -n if [ $? -ne 0 ]; then exit -1 fi exit 0 ************************* B.ftp ************************* open IPアドレス user XXX YYY prompt lcd ファイル転送元 cd ファイル転送先 mput *.csv bye ************************* 上記のようなシェルがあります。 A.shを実行すると, ************************* 対話型モードオフ。 現在のローカル・ディレクトリは ファイル転送元 です。 netout: 戻された 0 を書込みますか? netout: 戻された 0 を書込みますか? : : : ************************* というメッセージが表示され、 ファイル転送元のCSVファイルは全て0バイト以上であるのに 転送先にはいくつかのファイルが0バイトで作成されます。 おそらくnetoutが出たファイルが0バイトで作成されているようです。 ファイル単体でputすると上手く転送されます。 何が原因か全く分からないのですが、どなたかお分かりになる方、 いらっしゃいましたらよろしくお願いします。

みんなの回答

  • Methyln
  • ベストアンサー率29% (242/823)
回答No.1

mputでリクエストがあるのに何も返せないとか? mput *.csv とやると aaa.csv? とファイルを転送するかどうか聞いてくると思ったけど、それの 解決がA.shの中でやってるなら、その処理自体がうまく動いてないんだと 思うけど。 #シェルについてあんまり詳しくないから間違ってると思いますが...

関連するQ&A

  • FTPコマンドで複数ファイルをアップロードする

    どうか、お力をお貸しください。 テキストファイルに命令文を書いて、それをFTPコマンドで実行しています。 以下、テキストに書いたものです。 これは1ファイル用ですが、これを実行するとhogeというディレクトリに『123.csv』がアップロードされます。 open IPアドレス ユーザー名 パスワード put C:/123.csv /hoge/123.csv close quit 私がやりたいのは、指定のディレクトリ内の全てのファイルを転送することです。 複数ファイルの転送は、mputコマンドを使う、ワイルドカードで同一拡張子のファイルを全て転送できる、確認のプロンプトを出さない仕掛けが必要 ・・らしいことは分かったのですが、上手くいきません。 以下のように書いてはみましたが、失敗しました。 ftp -i open IPアドレス ユーザー名 パスワード mput C:/*.csv /hoge/*.csv close quit mput以下、どのように記述すればよいのでしょうか? くだらない質問かもしれません、申し訳ありません。 どうかお力をお貸しください、宜しくお願い致します!

  • FTPコマンドについて

    OSは2000Serverを使っています。コマンドプロンプトから入力するFTPコマンドにつき、二つ質問があります。 (1)ローカル(自分の端末)のあるディレクトリ配下すべてのディレクトリ・フォルダまるごとをFTPでアップロードしたい際、コマンドでなんと入力すればよろしいですか? (mput *ではすべてのファイルを転送するもののディレクトリは転送しないためmkdirでディレクトリを作成し、それぞれにmputするということしかできないのでしょうか?) (2)ログインするとC:に自分がいます。!dirでC直下のディレクトリを見るとたくさんありますが中でもDocuments and SettingsとProgram Filesについてはlcdで場所を移動できません。デスクトップにあるファイルを転送したいときなど、Documents and Settingsの下にいく必要がありますがどうすれば移動できますか?

  • ftp遅延

    Windows2003サーバーの標準ftpからJP1/ftpサーバーへ、VPNを介して最大2MB程度のファイルを100~200個mput転送しています。2,3ヶ月に1回程度、転送遅延が発生します。Wiresharkでパケットキャプチャして調査したところJP1/FTPからのウインドウサイズが通常時32768バイトから1024バイトになっていました。さらに1024になった後、ftpクライアント側がACK受信後に5秒間waitしてから次のパケットを送信するような動きになっています。計ったように5秒ぴったりです。Windowsのftpクライアントがデータ転送を遅らせるような設定、仕様はないとの認識ですが何が原因として考えられるでしょうか?またどのような調査が有効でしょうか?ちなみにftpクライアント側のPCにはVPNクライアントやアンチウィルスソフトは稼動していません。

  • コマンドプロンプト FTPコマンドについて

    こんばんわ。 今回はコマンドプロンプトのFTPコマンドについて質問させてください。 処理概要 Windowsバッチにて、サーバA(Windows)からサーバB(UNIX)にFTPでファイルを複数送りたい その際、FTPが成功したか失敗したかをログファイルに出力したい。 以下プログラム set logDir=C:\hogehoge\log\ set settingFileName=C:\hogehoge\upload.ftp set execDate=%date:~-10,4%%date:~-5,2%%date:~-2,2% set logFileName=%logDir%log_%execDate%.txt echo FTPバッチ起動 >> "%logFileName%" cd C:\hogehoge echo FTP開始 >> "%logFileName%" ftp -s:"%settingFileName% >> "%logFileName%" upload.ftpというファイルには以下のように記述しております。 ftp open サーバIP ポート ログインID パスワード binary prompt mput *.csv bye この2種類のファイルで、FTPは出来るのですが、 どうにかして成功/失敗を判断したいです。 どなたかわかる方、ご教授お願いいたします。 補足 UNIX上のバッチ処理(Cシェル)でもファイルがあるかどうか判断していますが、 WindowsでFTP失敗の場合、メールを送りたくてこのようなバッチを作成しました。

  • コマンドプロンプトを使ったFTPの自動化(応用)

    バッチファイルを作成して、FTPでファイルをサーバーにアップする事は旨く行きました。 以下のサイトを参考にしました。 http://www.ponko2.com/ftp_bat.html ただ、応用しようと思って行き詰っております。 複数のサーバー(100個以上ある)にファイルをアップロードしたいのですた、 同じファイルを複数作るのではなく、もっと効率のよい方法が無いかと思って質問させていただきます。 私の理想としては、サーバー情報を書いたテキストファイル(1行1サーバー情報)を用意して、 そこから1行ずつ読み込んで実行していくというプログラムは書けないのでしょうか? テキストファイルには、1行ずつ以下の情報を入れます。 「FTP先サーバー,ID,パスワード,アップロードする場所,ファイルの場所」 これを1行ずつ読み込んで、実行していくという事って可能でしょうか? 以下のデータの★の部分をテキストから読み込んで、テキストの行が終わるまで実行し続けてほしいです。 open ★(FTP先サーバー) ★(ログインユーザー名) ★(パスワード) asc prompt cd ★(アップロードする場所)\aaa lcd ★(ファイルの場所)\aaa mput * cd ★(アップロードする場所)\bbb lcd ★(ファイルの場所)\bbb mput * 。。。複数のフォルダがあるのでその中のファイルをすべてアップロードしていく bye わかる方居ましたら教えていただけると助かります。

  • Solaris系FTPシェルについて

    Solaris6or7系でFTPシェルでファイルリストから連続してダウンロードしたいと思っていますが、 シェル初心者で、ファイルからの読み込み、ループ処理など何を考慮しシェル化すれば困っています。ご教授お願い致します。 #!/bin/sh cd /ファイル保存ディレクトリ ftp -n << EOF !echo start open ダウンロードサーバ user ユーザー パスワード mput ファイルリスト     aaaaa bbbbb ccccc       :       :     数千ファイル  !echo end bye EOF 条件として ・ファイル保存先にはリストのすべてのファイルが存在する ・リスト内のファイルは重複なし ・拡張子はすべて同じもの(実際はUNIX識別番号などです) ・ファイル及び転送先ディスクの容量は考慮しない 以上よろしくお願いします

  • FTPコマンドの戻り値(エラーコード)の意味

    【FTPコマンドの戻り値=”2”は何のエラーを意味するのでしょうか?】 あるアプリからbatファイルを起動する仕組みを作っています。 そのbatファイル内でFTPコマンドによるファイル送信をしていますが、 FTPコマンドの戻り値が正常終了の”0”ではなく”2”となってします。 処理結果をログに出すようにしているのですがそこもうまくいっていないようです。 DOSプロンプトを起動してFTPコマンドを手で入力して行くと ステップごとには正しく動くのですが、bat起動だとだめなのです。 検索してみても「エラーコードの意味」がHitしません。 どなたか教えていただけますか? 【処理詳細を以下に記します。】 内容は、ある制御ファイル(CTL。中身は0バイト)群を FTP転送し、日付入りファイル名のログに結果を出力するだけです。 ○batファイル(引数%1には、アプリから日付が渡されます。) ftp -s:ftpcmd.txt > ftplog_%1.txt ○Txtファイル open xxx.xxx.xxx.xxx (userid) (password) cd (処理ディレクトリ) ascii prompt mput c:\FTP\*.xxx.ctl disconnect bye

  • perl ftp取得したファイルの保存先設定

    perl初心者です。 FTPサーバーのLOGを取得する場合のプログラムをperlで作成しております。 保存先設定を1回(1行)設定しただけで設定先フォルダにLOGファイルが保存されるような方法はありますでしょうか? 今現在以下のように保存先を指定して取得しています。 my $local_file1 = 'C:/log/aaa.csv''; my $local_file2 = 'C:/log/bbb.csv'; my $local_file3 = 'C:/log/ccc.csv'; $ftp->get('取得元パス/aaa.csv',$local_file1); $ftp->get('取得元パス/bbb.csv',$local_file2); $ftp->get('取得元パス/ccc.csv',$local_file3); ただ、1ヶ月分のLOGを取得するとなるとmy $local_fileも$ftp->getも1ヶ月分作成しなければならないため長文のプログラムになってしまいます。 他、1ヶ月分ならFor文でこんな感じでやれば・・・というアドバイスがあればお願いいたします。

    • ベストアンサー
    • Perl
  • FTPに転送したい。ファイル名にスペースはよい?

    ホームページを作成しています。画像のファイル名なんですが、 (1)「xxx yyy.jpg」 (2)「xxx_yyy.jpg] (3)「xxx-yyy.jpg」 (2)が一番理想的のような気がするんですが、(1)でもアップロードできますか? (3)でも、問題ないですか? 実は、ビルダーに付属のFFTPソフトで転送したときはできたんです。 (1)(2)(3)とも 違うFTPソフトでアップロードしたら、(1)ができなかったんですが、 ファイル名の違いですよね。 はやり、文字間にスペースはよくないですか? ホームページ初心者です。よろしくお願いします。

  • ftpが途中で止まります。

    RedHat7.3をインストールしました。 そしていま別のPCからこのPCにFTPでファイルを送ろうとしています。 xinetd.dの設定を変えて、ftpが使えるようになったと思ったのですが、 なぜかある程度の大きさのファイルを受け取ろうとすると、 途中で止まってしまいます。 しかも毎回、1433600Byteのファイルは124340Byteのところで、 1290240Byteのファイルは4380Byte転送したところで止まるという、 ファイル依存性があります。 put、get両方試しましたがダメでした。 小さなサイズのファイルは楽々送れるのですが。 ファイル送信元のPCはRedHat6.3です。 このPCから別のPCへのftpは成功しているので こいつのせいではないと思うのですが。。。 どなたか思い当たることなどありましたら、教えてやってください。 また、情報が不足している等のコメントも大歓迎です。 よろしくお願いします。