ftpの実行結果を複数のログに出力する方法

このQ&Aのポイント
  • ftpの実行結果を複数のログに出力する方法について教えてください。
  • 現在、ftpの実行結果を1つのログファイルに出力していますが、複数のログファイルに出力する方法はありますか?
  • ご教授いただけると幸いです。
回答を見る
  • ベストアンサー

ftpの実行結果を複数のログに出力したい

初心者です。お世話になります。 ftpの実行を起動するバッチファイルで現在、以下のように記述しています。 ftp -n -s:d:\XXXX\XXXX\XXXX.ftp > %LOGFILE% (d:\XXXX\XXXX\XXXX.ftpは、open~ファイルのputを実行します) %LOGFILE%には、ftpの実行内容がちゃんと出力されています。 %LOGFILE2%にも同じ内容を出力したいです。(追記で) ftp -n -s:d:\XXXX\XXXX\XXXX.ftp >> %LOGFILE2%  という文を追加すると ftp自体が2度実行されてしまうと思うのですが 複数ファイルにログ出力することは可能なのでしょうか。 ご教授ください。宜しくお願い致します。

  • Alcco
  • お礼率100% (1/1)

質問者が選んだベストアンサー

  • ベストアンサー
  • neko1963
  • ベストアンサー率49% (127/258)
回答No.1

%LOGFILE% に出力したものと同じ内容を %LOGFILE2% に追記で出力ということであれば、 %LOGFILE% 中のログ行を読んで、 %LOGFILE2% に追記で出力するという方法が あると思います。 Windows系であれば type %LOGFILE% >> %LOGFILE2% で、%LOGFILE% の全行を %LOGFILE2% に追記することになります。 したがって ftp -n -s:d:\XXXX\XXXX\XXXX.ftp > %LOGFILE% type %LOGFILE% >> %LOGFILE2% で、いかがでしょうか?

Alcco
質問者

お礼

教えていただいた記述でできました! 迅速なご回答、どうもありがとうございます。大変助かりました!

関連するQ&A

  • windows2008でftpをバッチ実行する。

    windows2008サーバーでバッチファイルを作成しftpで複数ファイルを自動転送しようと思います。 今まで(OSはXP)はうまく実行していたのですが、windows2008サーバーではうまくいきません。 ちなみにバッチファイルは @echo off echo ●FTP処理 C:\Windows\System32\ftp.exe -s:d:\ftp\tohost.txt echo on @echo off echo ●終了 tohost.txtの内容は open 192.168.1.1 Uid Pwd bin put d:\ftpdata\a1.txt /afld/a2.txt bye です。 何かwindows2008による特別な方法があるのでしょうか? よろしくお願いいたします。

  • 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コマンドのバッチ処理によってファイルの一覧の結果を取得したいのですが、 リダイレクション等を用いても取得できません。 どのようにすればいいか教えてください。 **************状況************* OSおよびOSレベル:AIX5.2 シェル:Kシェル コマンドファイルの中身(ftp.txt) cat << EOF | ftp -n open SERVER user USER PW cd PATH ls -l bye EOF SERVER:実際のサーバー名 USER:実際のユーザー名 PW:実際のパスワード PATH:実際のパス これを以下のように実行し、結果を取得しようとしました。 # ./cmd.ftp > log しかし、出力ファイルlogの中身はカラっぽでした。 ところが、リダイレクションを外し、コマンドファイルのみを実行すると、結果が画面に表示されます。 何故、画面には表示されるのに、リダイレクションやパイプでは結果が渡されないのかが分かりません。

  • FTPでのファイルPUT

    あるサーバに毎日吐かれている log.YYMMDDといったファイルがあり、 それを別のFTPサーバにPUTするシェルを作りたいのですが ************ CDATE=`date "+%y%m%d"` FILENAME=log.${CDATE} >ftp >open 192.168.XXX.XXX >user xxxx xxxx >get $FILENAME >disconnect FTPの部分は実際にはテキストにします。 上記のように入力すると$FILENAMEなんてありませんという エラーになってしまいます。 FTPに入っても有効にはできないのでしょうか?

  • windows10 FTP送信 バッチが動かない

    windows10からFTPサーバーへPUTしたいのですが、バッチファイルが動かないPCが存在します。 バッチファイル ftp -s:\\**********\b01.bat >\\**********\ftp.log b01.bat  open **********  **********  **********  PUT \\**********.TXT  QUIT 以下がログです。 ftp> open ********** ********** に接続しました。 220 (vsFTPd 2.2.2) 200 Always in UTF8 mode. ユーザー (**********:(none)): 331 Please specify the password. 230 Login successful. ftp> PUT \\**********.TXT 200 PORT command successful. Consider using PASV. 425 Failed to establish connection. ftp> QUIT 221 Goodbye. 色々調べた結果、パッシブモードではないからダメ・・・ しかしながら、別のwindows10では、問題なくPUT出来ています。 試しに、動作しないPCでコマンドラインで実行した結果は、 200 PORT command successful. Consider using PASV. ここまで上記と同様 150 Ok to send data. ftp: 300バイトが送信されました 0.29秒 1.05KB/秒 上記の通り問題なく送信できます。 windowsのFTPはパッシブモードはサポートしないならすべて出来ないなら理解できますが コマンドプロンプトでは実行できることが疑問、また、実行できる端末と出来ない端末があることも疑問です。 WinSCPに変更することも考えたのですが、windowsのバッチファイルを自動生成し実行後LOGに内容により他の処理を実行するところも作りこんでいて問題なく使用していた為、今更変更できない状況です。(パッシブモードの事さえ知らず動いていました) 何が何だかわからない状態です、お知恵をいただけないでしょうか・・・

  • バッチファイルFTP -sで引数を渡せますか?

    どなたか教えて下さい。 TEST.batというバッチファイルの処理の中で、 FTP -s:D:\ABC.bat でファイルを指定して、FTPのputを実行させたいです。 putしたいファイルはTEST.bat内でsetで指定しています。そのsetで指定したファイルを引数などで、\D\ABC.batへ送る方法はないでしょうか?

  • 複数コマンドの実行結果をテキストに出力したい

    バッチファイルで実行した結果をテキストに出力したいです。 コマンド一個であれば問題ないのですが、複数実行した結果をテキストに出力しようと以下の内容でバッチファイルを作ったのですが、実行すると最後のipconfigだけしか出力されませんでした。 複数コマンドの実行結果すべてを出力するためにどこを修正すればよろしいでしょうか。 hostname & wmic bios get serialnumber & ipconfig > C:\Users\user\desktop\%COMPUTERNAME%.txt

  • 3分間シェルを実行する方法

    netstat の結果をログ出力する為、次のようにシェルを作成しましたがもう少し効率の良い方法はありませんでしょうか。 ■作成したシェルスクリプト ------------------------------------------------------------------------------- #!/bin/bash #ログの出力先 LOGFILE=/var/log/netstat.log #実行コマンド date "+%Y/%m/%d %H:%M:%S" >> $LOGFILE netstat -ao >> $LOGFILE sleep 30 #実行コマンド date "+%Y/%m/%d %H:%M:%S" >> $LOGFILE netstat -ao >> $LOGFILE sleep 30 #実行コマンド date "+%Y/%m/%d %H:%M:%S" >> $LOGFILE netstat -ao >> $LOGFILE sleep 30 #実行コマンド date "+%Y/%m/%d %H:%M:%S" >> $LOGFILE netstat -ao >> $LOGFILE sleep 30 #実行コマンド date "+%Y/%m/%d %H:%M:%S" >> $LOGFILE netstat -ao >> $LOGFILE sleep 30 #実行コマンド date "+%Y/%m/%d %H:%M:%S" >> $LOGFILE netstat -ao >> $LOGFILE sleep 30 -------------------------------------------------------------------------------

  • FTPコマンドのputについて

    AIX、Kシェルです。 ftpでputする際、相対パスは使用出来ないのでしょうか? ex) ftp -nv open HostName user User Password cd tmp/testwork/ put ../file/xxxx.txt quit 上記で実行すると、 putのところで 「200 EPRT command successful. 553 ../file/xxxx.txt: No such file or directory」 というメッセージが出ます。 lcdで作業ディレクトリーを../fileに変更して、put xxxx.txt は出来るのですが、putで相対パスは出来ないのでしょうか? お手数ですが、何卒宜しくお願い致します。

  • ログ出力したい

    mysqlで、テーブルの作成と初期値の登録をバッチファイルをダブルクリックして実行しています。しかし、あっという間に黒い画面が閉じてしまい、うまくいったのエラーになったのかさっぱり分かりません。 ログを出力したいのですが、 echo error message >> C:\log\result.log と書くと、指定の場所にresult.logは出来ているのですが、そのファイルを開くと、 error message としか書かれていません。 どうしたらよいのか教えてください。