- ベストアンサー
ftpコマンドで丸ごとダウンロード
ftpコマンドでWebのドキュメントルートごとgetはできませんか? getで1ファイル落とせます。 mgetでカレントのファイルを全て落とせます。 それだけでなく、 ディレクトリを丸ごとダウンロードしたいのですが、それはftpのコマンドでは無理なのでしょうか? いろいろ検索してみました。 下記のような情報はあります。 http://sasuke.main.jp/ftpcommand.html でも、ディレクトリ毎落とせるのかどうかイマイチわかりません。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
手動で、都度lsやgetコマンドを入れれば可能ですよね。 つまり、プログラムでftpを制御してlsの結果を解析し、プログラムでgetコマンドを生成して入力すれば可能です。 ftpのクライアントコマンド単体では無理です。 GUIのftpクライアントだと、GUIでフォルダーをドラッグすればそういうことを自動的にやってくれたりします。コマンドラインだとwgetというプログラムでも出来ます。 昔は、ftpサーバー側でディレクトリをまとめてくれて1ファイルにしてくれるものもありましたが、最近は見かけません。
その他の回答 (2)
- NNori
- ベストアンサー率22% (377/1669)
古いプロトコルなので、そこまで考えてないと思う。 mget */* とやると第2階層を全部できたかも。(最近やってないからなぁ) で、こういうときは tar でファイルをまとめてからftp でGET して tar で戻すというのが UNIXの常套手段だと思います。 UNIXはリンクが柔軟につけられるので、下手に階層構造を取ると循環してとんでもないことに なることがあるので、tar でまとめるのです。
お礼
有難うございます。 mget */* は、上手く行きませんでした。 >こういうときは tar でファイルをまとめてから なるほど、と思いましたが、 tarは向こう側でコマンド発行しないといけませんよね。 step1:向こう側でtarコマンドで一まとめに step2:こっち側からftpで繋いでget 確かに大容量になると通信効率は良いと思いますので、工夫すれば何かに使えそうではあります。 向こう側でtarコマンド使えるぐらいなら、 向こう側から、こっち側にftpするとか、 リモートコピーするとかもできそうですが、 向こう側でtarコマンド使うのは結構なハードルの高さでもあります。
- kimamaoyaji
- ベストアンサー率26% (2801/10379)
可能ですよ、そのFTPサーバーのIDとパスワードを持っていればの話ですが。 自分のじゃないから持ってないという事であれば、泥棒しようという事ですか?通常プロテクトされているので無理です。まさかファイルを解放したままなんてありえません、レンタルサーバーで使っている人が解放しようとしても、サバーの管理側が、他の人への影響(外からの攻撃拠点にされるため)強制的にやらせないでしょう。 貴方の参照にされているURLにもユーザー名(ID)とパスワードとあるでしょう、本人確認が出来なければ無理な話です、本人確認が出来れば読み書きは自由ですよ。 ホームページでデーターの入れ替えなどFTPとエクスプローラ間でコピペしてますから。
お礼
?
お礼
有難うございます。 >コマンドラインだとwgetというプログラムでも出来ます。 もしかしたら、やりたかった事はコレかもしれません。 wget -r ftp://ユーザー:パスワード@サーバー/ディレクトリ で、やってみたところ、概ね希望通りの結果が得られました。