プロが教える店舗&オフィスのセキュリティ対策術

Solaris8上でftpコマンドに関するのシェルを作成しています。
処理概要はSolaris上にあるファイルをWindwosのFTPサーバーに送信したいのです。そのFTP処理時、FTPの一連のコマンドを記入したテキストファイルを指定して実行したいのです。Windows上でバッチ処理をするときは、以下のように処理しています。
 ftp -s:xxxx.txt
 (ここでxxxx.txtには、ftpコマンドが記入)
Solaris上でftpのオプションをmanで確認したいのですが、それらしきものがありませんでした。
 よろしくお願いします。

A 回答 (2件)

FTPコマンドに標準入力からFTPコマンドのサブコマンドを渡してあげればいいです。



以下、実行方法の一例です。

$HOME/.netrc(パーミッション0600に必ずする)に以下のように形式で記述
(他ユーザにパスワード等を見られる事を防げるし、FTPを行うシェルスクリプトを複数作成する場合、いちいちそれぞれに記述しなくて済む。また、パスワードを変更した場合、この1ヶ所を直せば済むという利点があります)

machine FTPサーバ名 login ユーザ名 passwd パスワード

記述例)
machine ftpserver login ftpuser passwd ftppasswd

No.1の方のようなヒアドキュメントを使うなら

実行例)
ftp -i << _EOF_FTPCMD_
open ftpserver
cd download
mget *
bye
_EOF_FTPCMD_

質問のようなファイルとしてある場合には

FTP.txt
-------8<-------8<-------8<-------8<-------
open ftpserver
cd download
mget *
bye
-------8<-------8<-------8<-------8<-------

実行例)
# cat FTP.txt | ftp -i
    • good
    • 0
この回答へのお礼

すばらしい。
ありがとうございました。
大変参考になりました。

お礼日時:2005/03/24 12:51

Unix系ではこのようにします。



ftp -v -n << EOF
prompt
open <HOST>
user <USER> <PASSWORD>
cd hogehoge
get hogehoge.sh hogehoge.txt
quit
EOF
    • good
    • 0
この回答へのお礼

ありがとうございました。
参考になりました。

お礼日時:2005/03/24 12:50

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