アプリ版:「スタンプのみでお礼する」機能のリリースについて

ftpコマンドでWebのドキュメントルートごとgetはできませんか?

getで1ファイル落とせます。
mgetでカレントのファイルを全て落とせます。

それだけでなく、
ディレクトリを丸ごとダウンロードしたいのですが、それはftpのコマンドでは無理なのでしょうか?

いろいろ検索してみました。
下記のような情報はあります。
http://sasuke.main.jp/ftpcommand.html

でも、ディレクトリ毎落とせるのかどうかイマイチわかりません。

A 回答 (3件)

手動で、都度lsやgetコマンドを入れれば可能ですよね。


つまり、プログラムでftpを制御してlsの結果を解析し、プログラムでgetコマンドを生成して入力すれば可能です。
ftpのクライアントコマンド単体では無理です。

GUIのftpクライアントだと、GUIでフォルダーをドラッグすればそういうことを自動的にやってくれたりします。コマンドラインだとwgetというプログラムでも出来ます。

昔は、ftpサーバー側でディレクトリをまとめてくれて1ファイルにしてくれるものもありましたが、最近は見かけません。
    • good
    • 0
この回答へのお礼

有難うございます。

>コマンドラインだとwgetというプログラムでも出来ます。

もしかしたら、やりたかった事はコレかもしれません。

wget -r ftp://ユーザー:パスワード@サーバー/ディレクトリ

で、やってみたところ、概ね希望通りの結果が得られました。

お礼日時:2014/08/27 10:10

古いプロトコルなので、そこまで考えてないと思う。


mget */* とやると第2階層を全部できたかも。(最近やってないからなぁ)
で、こういうときは tar でファイルをまとめてからftp でGET して tar で戻すというのが
UNIXの常套手段だと思います。

UNIXはリンクが柔軟につけられるので、下手に階層構造を取ると循環してとんでもないことに
なることがあるので、tar でまとめるのです。
    • good
    • 0
この回答へのお礼

有難うございます。

mget */* は、上手く行きませんでした。

>こういうときは tar でファイルをまとめてから

なるほど、と思いましたが、
tarは向こう側でコマンド発行しないといけませんよね。

step1:向こう側でtarコマンドで一まとめに
step2:こっち側からftpで繋いでget

確かに大容量になると通信効率は良いと思いますので、工夫すれば何かに使えそうではあります。

向こう側でtarコマンド使えるぐらいなら、
向こう側から、こっち側にftpするとか、
リモートコピーするとかもできそうですが、
向こう側でtarコマンド使うのは結構なハードルの高さでもあります。

お礼日時:2014/08/27 09:29

可能ですよ、そのFTPサーバーのIDとパスワードを持っていればの話ですが。


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

?

お礼日時:2014/08/27 09:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています