FTPのバッチ処理で効率的にデータをダウンロードする方法とは?

このQ&Aのポイント
  • FTPのバッチ処理で大量のデータをダウンロードする際、効率的な方法を探しています。現在はFFFTPを使用していますが、時間がかかりすぎるため、他の方法を模索しています。
  • バーチャルホストからデータをダウンロードする場合、共有サーバーで借りている場合はコンソールへのアクセスが制限されていることがあります。そのため、FTPを使用してダウンロードする必要が生じることがあります。
  • バッチ処理でファイルをダウンロードする際には、ダウンロードが正常に完了しているかどうかを確認する必要があります。ダウンロードが完了していない状態で次のファイルのダウンロードが開始されてしまうと、壊れたファイルが増えてしまいます。効率的な方法をご教示いただけないでしょうか?
回答を見る
  • ベストアンサー

FTPのバッチ処理について質問です。

300のバーチャルホストからデータをダウンロードする必要が発生し、 たまたまそのサーバーが共有サーバーで借りているものだったため、 コンソールから入る事ができず、FTPでダウンロードすることになりました。 ただ、数が多すぎる為FFFTP等でダウンロードするには時間がかかり過ぎ、 時間がない状況の為、FFFTPは不向きだと思い、バッチファイルを作成したものの、 ダウンロードしたファイルが壊れている事がわかりました。 「ファイルのダウンロードができているか」を確認せずに(できずに)1秒程度で 次のファイルのダウンロードが開始されてしまっているからだと思うのですが、 何か良い方法はありませんでしょうか。 ファイルは以下の二つです。 <ファイル1>  mkdir #ダウンロード先その一#  ftp -s:ファイル2 #ホストA#  mkdir #ダウンロード先その二#  ftp -s:ファイル3 #ホストB# <ファイル2、3他>  #ユーザー名#  #パスワード#  cd #該当フォルダ#  lcd #ダウンロード先#  prompt  mget *  qui すみません。 よろしくお願いいたします。

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

  • ベストアンサー
  • localica
  • ベストアンサー率52% (202/385)
回答No.1

>次のファイルのダウンロードが開始されてしまっているからだと思うのですが 普通はそのような理由でFTPに失敗するとは思えませんけど。 単純にpromptの前あたりに「bin」を入れて上手くいきませんか? スクリプトで作るならファイルサイズを比較して、失敗しているファイルをリトライするようにしては如何でしょうか。

jodan_jodan
質問者

お礼

早速のご回答ありがとうございました。 仰るとおりでした。

関連するQ&A

  • FTPのバッチファイルで日付を引数で与えたい

    いつもお世話になっております。 FTPのバッチファイルに引数を与える良い方法をご存知ありませんか。 FTPの中では環境変数は使えないとのことですし、悩んでいます。 取得するファイルは日付毎のディレクトリに入っていて、取得後も日付毎のディレクトリに保管するので日付の指定が必要なのですが。 [ftpget.bat]------------------------------------------ ftp-s:ftpget.bat open ホスト名 ユーザー名 パスワード bin prompt cd /~対象ホストのディレクトリ~/YYYYMMDD/host1 !mkdir C:\YYYYMMDD lcd C:\YYYYMMDD mget *.txt quit ---------------------------------------------------- このYYYYMMDDの部分を、『ftpget.bat 20081125』のようにバッチを流す時の引数で与えたいです。 日付は3日前だったり昨日だったり今日だったりします。 今は直接ファイルを編集してYYYYMMDDの部分3箇所を手で直してからバッチファイルを叩いています。 よろしくお願いいたします。

  • バッチ処理でftpから自動的にダウンロード

    バッチ初心者です。 バッチを使用してLAN内のftpサーバーからcsvを別のマシンのフォルダへ定期的(10分毎)にダウンロードするようにしたいのです。 テキストファイル(ファイル名ftpcmd.text)に以下のように記述しました。 open 「ftpサーバーのIPアドレス」 「ユーザー名」 「パス」 mget*.csv quit バッチファイル(auto_ftp.bat)に以下のように記述しました。 ftp -i-s:ftpcmd.txt ダウンロード先の指定と10分毎に実行させるにはどのようにすればいいですか? 宜しくお願いします。

  • FTPコマンド mgetでとまってしまう

    コマンドプロンプト画面から open www.foo.or.jp funfun abcdefg cd test cd csv lcd C:\test prompt mget *.csv このように打ち込んでいるんですが mget *.csv でとまってしまいます mget * でも駄目です そこまではうまくいくのですが・・・ パソコンによって、mgetコマンドが不可能とかありますか? それともFTPのバージョンなどあるんでしょうか?? よろしくお願いします。

  • バッチファイルからftpコマンドを使って不特定のファイルをダウンロードしたい。

    バッチファイル上のftpコマンドを使ってftpサーバーにあるカレントディレクトリー以下のファイルを一切合切ダウンロードしたいのですが、なんかいい方法ありませんか?   ↓ここをなんとかしたいのですが   dir|mget ※[]は各設定を入れる ↓バッチファイル ----------------------------------- ftp open [127.0.0.1] [User] [Password] dir | mget by --------------------------------

  • ftp処理でmove(移動)を行いたい

    バッチ処理でデータをftp受信しています。 --------------------------- ユーザ名 パスワード prompt mget abc*.log mdelete abc*.log bye --------------------------- このようなコマンドを行っています。 ftpサーバにはさまざまなファイルが随時生成されます。 この処理では定期的に abcで始まる全てのログファイルをgetし、 abcで始まる全てのログファイルをdeleteしています。 ところが、abcで始まるファイルの生成がランダムのため、 偶然mgetが終わった後でファイルが生成され、 mdeleteを行うと、getしていないファイルまで削除される恐れがあるのです。 そのため、一件ずつ移動を行いたいのですが、 調べてもmoveのようなコマンドがftpで見当たらないのですが なにか、moveに置き換わるような処理はないでしょうか? *windows同士の通信です。

  • FTP

    ホームページの更新に使うFTPソフトはFFFTPを使っていますが、たまにサーバ側にある全てのファイル、ディレクトリのバックアップをとろうと思って、FFFTPでサーバにあるファイルを丸ごとダウンロードしようとするのですが、必ずと言っていいほど 次のファイルがダウンロードできませんでした。 ○○○.htm 次のファイルがダウンロードできませんでした。 ○○○.jpg とメッセージが出て、一部のファイルがダウンロードできません。このメッセージが出ると「中止」をするしかなく、レジュームもきかないようですが・・・・ 早朝など、なるべく回線が混まない時間に試してるんですが・・・・ そこで、「サーバにある全てのファイルをバックアップのためにダウンロードする」ためのFTPソフトを探しています。FFFTPは多機能ですが、重かったりするので・・・・ 分かりやすく、動作も軽快で、サーバにあるファイル、ディレクトリが全てダウンロードできる。 そんな都合の良いFTPソフトを知りませんか?

  • FTP操作の自動化

    どこで質問するべきか迷う質問なのですが、 とりあえず、ここに投稿してみます。 FTPダウンロードの操作を自動化するために open IPaddress userid password lcd c:\ bin prompt cd data get filename bye こんな感じで、ファイルを作成し、WINDOWS上でバッチファイルより、呼び出し、FTP操作を自動実行しています。 UNIX系のFTPサーバーにはこれで問題なく、動くのですが、なぜかIISのFTPサーバーだと FTPサーバーを呼び出した時点で止まってしまいます。 設定次第で、動きそうではありますが、どこを変更するべきなのかわかりません。 ご存じの方、宜しくお願い致します。

  • FTPのバッチファイル

    ローカルPCからサーバーのPCへ毎日決まったファイルをFTPで伝送したいと思っています。今はFFFTPで、毎日手動でファイルをアップロードしていますが、DOS窓からFTP接続するコマンドをバッチファイルにすることってできないのでしょうか? できれば、そのバッチファイルをタスクスケジューラーに登録して日々自動でアップロードしたいと考えています。 ftp open 接続先 ユーザーID パスワード put ファイル名 といった内容をバッチファイルにしたいのですが、やり方をご存知の方がいらっしゃいましたら、教えていただけないでしょうか?

  • FTPサーバでのアップロードができない

    FTPサーバをたてました。TinyFTPDです。 クライアントソフトはFFFTPです。 接続は出来ます。ダウンロードも出来ます。 しかしアップロードが出来ません。 「FFFTPエラー アップロードが出来ませんでした。 450 No privilege for operation.」と出ます。 FTPソフトのアップロードとはそもそもなんですか。 インターネットで調べたのですがよく分かりません。 テキストファイルをLANの他のコンピュータに送ることは出来ないんでしょうか。 ホストの設定で、アドレスが192.168.11.58という プライベートアドレスにしているのが悪いのでしょうか。

  • FTPだけが使えない

    FTPサーバへの接続"だけ"が出来なくなってしまいました。 つい先日までは普通に出来ていたのですが・・・ 家族で共用のPCなので、誰かが何らかの作業を行った結果こうなった可能性も大きいのですが、 一体どこが原因なのか分からず途方にくれております。 http、sftpなどは使えるのですが、ftpだけが使えません。PASVモードでも接続できません。 ルータ、アンチウィルスソフトウェア、Firewallは使用していません。 OSはWinXP SP1です。OS標準のFWが切ってあることも確認しました。 (エラーメッセージ例 FFFTP使用) ホスト s77.xrea.com を探しています. ホスト s77.xrea.com (221.186.251.82 (21)) に接続しています. 接続できません. Nextftpなど、他のftpソフトを使ってもほぼ同様です。 ホスト名の解決までは進みますが、そこから先接続ができない状態です。