dポイントプレゼントキャンペーン実施中!

FTPのシェル化について質問があります。(同じドメインにあるLinuxマシン同士を想定しています。)

・get(put)でディレクトリを変えて指定することは可能ですか?例えば、"get /home/user1/file1"のように。

・ftpを起動→ディレクトリ移動→指定ファイルのget の流れを自動化したいと考えています。よい方法はないでしょうか?ftpをあきらめてrcpにするしかないのでしょうか?

以上、ご教授願います。

A 回答 (3件)

標準のftpコマンドで無理なく出来る方法を紹介します。



クライアント側のユーザのホームディレクトリに、 .netrc というファイルを作ると、その中にftpコマンドの動作設定が出来ます。

その中で、マクロが定義できるのですが、マクロ名を init という名前にすると、ftp起動時に自動実行されます。
そこで、initマクロで、cdしてgetしてquitという流れを書けばいいのです。

.netrc を下記のような内容で作成してください。

---ここから
machine <サーバ名>
login <ユーザ名>
password <パスワード>
macdef init
cd <対象ディレクトリ>
get <ファイル>
quit

---ここまで
最後に空行が1行必要なことに注意してください。
必要に応じてbinaryとかも入れてください。
作成したら、chmod 600 .netrc としてください。(他人がさわれないようにしておかないとエラーになります)

このあと、ftp <サーバ名> とやるだけですべてやってくれます。

もちろん、putすることもできますし、promptしておけばmgetやmputもokです。


この方法の欠点は、このファイルがある限り、そのサーバに接続すると必ずマクロが処理されてしまうことです。
    • good
    • 0
この回答へのお礼

ありがとうございました。
勉強になりました。

お礼日時:2004/07/26 20:00

以下のURLは参考になるのではないでしょうか?



参考URL:http://ash.or.jp/net/ftp_command.htm
    • good
    • 0
この回答へのお礼

ありがとうございました。
参考にさせて頂きます。

お礼日時:2004/07/26 20:00

色々解はあると思いますが、



1.lftp を使う
lftpget ftp://hogehoge/home/user1/file1

2.scp を使う
(あらかじめパスフレーズ無しの鍵認証を設定しておく)
scp user@hogehoge:/home/user1/file1 .

等々

参考URL:http://lftp.yar.ru/
    • good
    • 0
この回答へのお礼

ありがとうございました。
LFTPは普段の実務で使えそうですね。
勉強になりました。

お礼日時:2004/07/26 20:01

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