ftp でファイルを送信するシェルスクリプト

以下の sample.sh を作成し、ターミナルエディタで
sh sample.sh <送るファイル />

を実行する。


#!/bin/bash

server=<ホスト名oripアドレス>
user=<ユーザ名>
pass=<パスワード>
file=$1

ftp -n <<END
open $server
user $user $pass
ascii
prompt
put $1
END
exit $?


"-n"オプションは、.netrcファイルによるログインを行わないことを意味している。

"ascii"モードは異なるOS間でも改行コードを自動変換してくれるもの。
今回の場合はCentOS→Windowsなので、改行コードをLF→CRLFに置換してくれる。
そのまま送る場合はここを"binary"にする。

"prompt"は、mgetやmputなど複数のファイルを送受信する場合に、各ファイル毎に毎回送受信可否の確認をしないようにするもの。
(これを入れると、実行結果に"Interactive mode off."と出る。)

「ftp」コマンド実行時に「コマンドが見つかりません」というエラーが出ることがあるが、その場合は
yum install ftp

でインストールすれば良い。


posted by へっぽ at 18:23 | TrackBack(0) | VirtualBox | このブログの読者になる | 更新情報をチェックする

この記事へのトラックバック

×

この広告は1年以上新しい記事の投稿がないブログに表示されております。