• ベストアンサー

ftpコマンドで丸ごとダウンロード

ftpコマンドでWebのドキュメントルートごとgetはできませんか? getで1ファイル落とせます。 mgetでカレントのファイルを全て落とせます。 それだけでなく、 ディレクトリを丸ごとダウンロードしたいのですが、それはftpのコマンドでは無理なのでしょうか? いろいろ検索してみました。 下記のような情報はあります。 http://sasuke.main.jp/ftpcommand.html でも、ディレクトリ毎落とせるのかどうかイマイチわかりません。

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

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.3

手動で、都度lsやgetコマンドを入れれば可能ですよね。 つまり、プログラムでftpを制御してlsの結果を解析し、プログラムでgetコマンドを生成して入力すれば可能です。 ftpのクライアントコマンド単体では無理です。 GUIのftpクライアントだと、GUIでフォルダーをドラッグすればそういうことを自動的にやってくれたりします。コマンドラインだとwgetというプログラムでも出来ます。 昔は、ftpサーバー側でディレクトリをまとめてくれて1ファイルにしてくれるものもありましたが、最近は見かけません。

webuser
質問者

お礼

有難うございます。 >コマンドラインだとwgetというプログラムでも出来ます。 もしかしたら、やりたかった事はコレかもしれません。 wget -r ftp://ユーザー:パスワード@サーバー/ディレクトリ で、やってみたところ、概ね希望通りの結果が得られました。

その他の回答 (2)

  • NNori
  • ベストアンサー率22% (377/1669)
回答No.2

古いプロトコルなので、そこまで考えてないと思う。 mget */* とやると第2階層を全部できたかも。(最近やってないからなぁ) で、こういうときは tar でファイルをまとめてからftp でGET して tar で戻すというのが UNIXの常套手段だと思います。 UNIXはリンクが柔軟につけられるので、下手に階層構造を取ると循環してとんでもないことに なることがあるので、tar でまとめるのです。

webuser
質問者

お礼

有難うございます。 mget */* は、上手く行きませんでした。 >こういうときは tar でファイルをまとめてから なるほど、と思いましたが、 tarは向こう側でコマンド発行しないといけませんよね。 step1:向こう側でtarコマンドで一まとめに step2:こっち側からftpで繋いでget 確かに大容量になると通信効率は良いと思いますので、工夫すれば何かに使えそうではあります。 向こう側でtarコマンド使えるぐらいなら、 向こう側から、こっち側にftpするとか、 リモートコピーするとかもできそうですが、 向こう側でtarコマンド使うのは結構なハードルの高さでもあります。

回答No.1

可能ですよ、そのFTPサーバーのIDとパスワードを持っていればの話ですが。 自分のじゃないから持ってないという事であれば、泥棒しようという事ですか?通常プロテクトされているので無理です。まさかファイルを解放したままなんてありえません、レンタルサーバーで使っている人が解放しようとしても、サバーの管理側が、他の人への影響(外からの攻撃拠点にされるため)強制的にやらせないでしょう。 貴方の参照にされているURLにもユーザー名(ID)とパスワードとあるでしょう、本人確認が出来なければ無理な話です、本人確認が出来れば読み書きは自由ですよ。 ホームページでデーターの入れ替えなどFTPとエクスプローラ間でコピペしてますから。

webuser
質問者

お礼

?

関連するQ&A