株式会社エスロジカル
株式会社エスロジカル
セキュリティ、Web開発、Unix開発、Go言語

■ UNIX のコマンド:ftpコマンドのバッチ処理

技術ドキュメント目次 -> UNIX のコマンド -> ftpコマンドのバッチ処理

本技術ドキュメントは、ここしばらくメンテナンスをしておりません。
内容が古くなっている可能性などございますこと、ご理解を頂けますようお願いいたします。


サイフにやさしいSSL証明書
【低価格SSL証明書】弊社運営の低価格SSL証明書販売サイト、翌月末払いなど請求書払いも可能。


◆ はじめに

ftp コマンドは、(言わずと知れたことですが)
多くのUnix系OSに標準でインストールされている、
FTPのクライアントプログラムです。

$ ftp 192.168.1.1
等と入力することで、
FTPを行うことができますが、
その際、作業の内容(ID/PW の入力や、getやputするファイルの指定)を、
すべてコマンドラインから入力する必要があります。

ただし、下記のような方法で、
コマンドラインからの入力の必要がない FTPを行うこともできます。

例えば、バックアップなどの目的で、
毎晩 3:00 にあるマシンからファイルをFTPで取得したい、
といったようなときに、crontabなどに登録しておくことができ便利です。

◆ 設定方法

下記のような FTPの設定ファイルを ftp.cfg という名前で作成します。

open 192.168.1.1
user (ID) (PW)
bin

get (getしたいファイルのファイル名-1)
get (getしたいファイルのファイル名-2)
get (getしたいファイルのファイル名-3)

close

bye


その後、
次のようなコマンドを実行すると、
コマンドラインから対話的に入力を行うことなく、FTPを行うことができます。
(FTPの各命令を設定ファイルから読み込みます)

$ ftp -i -n < ./ftp.cfg


crontab で実行するときなど、
ftp コマンドの標準出力が必要ではない時には、
次のように標準出力を /dev/null に捨てるのも有効かもしれません。

## 毎日3:00amに自動FTPするcrontabの設定例

0 3 * * * ftp -i -n < ./ftp.cfg




■ UNIX のコマンド についての他のドキュメント


■ 他のグループのドキュメント

Apache  /  Linux  /  FreeBSD  /  OpenSSL  /  Perl  /  HTTPプロトコル  /  Jakarta Tomcat  /  Java  /  NetBSD  /  Oracle  /  PostgreSQL  /  UNIX の C言語  /  UNIX のコマンド  /  Windows  /  bind  /  システム運用TIPS

アンケートにご協力をお願いいたします。

1. このドキュメントへの評価をご選択ください。
         

2. ご感想をお書きください。