Thursday, September 07, 2006

自動的にFTPする方法

自動的にFTPする方法

ファイルサーバーから210.169.91.139へバックアップをFTPでGET

<autoftp.bat>

ftp -s:ftpcmd.txt>>ftplog.txt

<ftpcmd.txt>

open 210.169.91.139
appuiRmz
e271/svz5R
binary
prompt
lcd G:\Dev\船井総研\backup
mget pgback*
bye

 

WindowsやUNIX系OSには、実はFTPクライアントが最初からついています。

最初に実感値をつかんでいただくために、とりあえずやってみます!

(1)ftpcmd.txtというファイル名で以下を保存してください。 ※必要箇所を書き換えてください。 open www.ichikoro.com ← 適当なサーバ名に

xxxxx ← ID

xxxxx ← パスワード

cd ディレクトリ名 ← ディレクトリを変更(しない場合はトル)

ascii ← ASCIIモードにする (バイナリは「binary」に変更)

get ファイル名 ← ダウンロード(アップロードは「put ファイル名」に)

bye

(2)autoftp.batというファイル名で下の一行を保存してください。

ftp -s:ftpcmd.txt

(3)autoftp.batをダブルクリック!

この二つのファイルは同じ階層に置いてくださいね。 すると自動的にダウンロード(アップロード)がはじまります。 さぁ、何でこういうことが出来たのでしょうか? ここまでの知識でも十分ですが、理由が知りたい方は下の記事をどうぞ。

■とりあえず使ってみよう! 試しにWindowsでFTPする方法を試してみましょう。 まずは、MS-DOSプロンプト(DOS窓)を開きます。 ここで、 C:\>ftp と入力し、リターンキー(最近はエンターキーか(^^;)を押してください。 C:\>ftp ftp> するとこうなりましたか? ■サーバのファイル一覧を取得しよう! では、どこかのサーバに接続してファイル一覧を見てみましょう。 ftp> open www.ichikoro.com openの後にサーバ名を入力しますすると、 Connected to ichikoro.com. 220 w6.yukaido.ne.jp FTP server (Version wu-2.6.0(1) Tue Jun 20 06:13:16 JST 2000) ready. User (ichikoro.com:(none)): と聞いてくるので、そのままユーザーIDを入力します。 331 Password required for ユーザーID. Password: 同じようにパスワードを入力 230 User ユーザーID logged in. Access restrictions apply. ftp> このようになれば接続完了です! 早速 ftp> ls と打ってみましょう。 200 PORT command successful. 150 Opening ASCII mode data connection for file list. index.html.20020519 index.html.back index.shtml jcode.pl 226 Transfer complete. ftp: 90 bytes received in 0.06Seconds 1.50Kbytes/sec. このようにファイルの一覧を取得することが出来ました。 サーバから出る時は ftp> bye と打ちます。 すると簡単なメッセージが表示された後、FTPコマンドも終了します。

■自動化しよう!

このFTPコマンドを使用しファイルの取得とアップロードを自動化 することが、簡単にできます。 例えば、先ほど行った一連の流れを一つのファイルに書き出し、 適当な名前で保存しましょう。

ここでは ftpcmd.txt とします。

open www.ichikoro.com ←適当なサーバ名に

xxxxx ←ID

xxxxx ←パスワード

ls

bye

保存したら、以下のコマンドをDOS窓に打ちます。

C:\>ftp -s:ftpcmd.txt

すると、先ほどと全く同じことが起こったでしょうか? これをバッチファイルにしてみましょう。

ftp -s:ftpcmd.txt とだけ書いたファイルを autoftp.bat などと命名し、保存しましょう。

今度はこれを C:\>autoftp.bat とするか、もしくは直接ダブルクリックで実行することが 可能です。ここまでで、ピン!とこられたでしょうか? つまり、先ほどのファイルftpcmd.txtを、 open www.ichikoro.com ←適当なサーバ名に xxxxx ←ID xxxxx ←パスワード 【ファイルを取得するコマンド】 bye とすれば、ダブルクリック一発でファイルを取得することが 出来てしまうのです。子難しいプログラミングは一切必要あ りません。 ■ファイルを取得しよう + ファイルをアップロード! ファイルを取得するには、 ftp> get ファイル名 とするだけです。 逆にアップロードするには ftp> put ファイル名 とするだけです。 ASCIIモードとバイナリモードを切り替えるのは ftp> ascii ←ASCIIモードにする 200 Type set to A. ftp> binary ←バイナリモードにする 200 Type set to I. これだけなのです。チョー簡単です! ちなみにディレクトリを変更するのは ftp> cd ディレクトリ名 です。 これだけ覚えておけば十分でしょう。 ■まとめ(簡単テンプレート) さぁ、もう一回最初に出てきた物を見てみましょう! (1)ftpcmd.txtというファイル名で以下の内容を保存してください open www.ichikoro.com ← 適当なサーバ名に xxxxx ← ID xxxxx ← パスワード cd ディレクトリ名 ← ディレクトリを変更(しない場合はトル) ascii ← ASCIIモードにする (バイナリは「binary」に変更) get ファイル名 ← ダウンロード(アップロードは「put ファイル名」に) bye (2)autoftp.batというファイル名で下の一行を保存してください。 ftp -s:ftpcmd.txt (3)autoftp.batをダブルクリック! 納得できたでしょうか? 例えばこの実行結果をログファイルとして記録したい場合は、 autoftp.batを以下のように変更します。 ftp -s:ftpcmd.txt > ファイル名 ファイルが真っ白になり、その上に記録されます。 追加書き込みしたい場合は、 ftp -s:ftpcmd.txt >> ファイル名 これだけです。 無理してプログラミングする必要が一切無いのが分かりますよね?(^-^)

■おまけ Windowsには、コントロールパネルの中に「タスク」と言われる、 一定時間毎に、指定のアプリケーションを起動してくれる機能 が備わっています。 ※UNIXの場合は、cronがそれに該当します。

つまり、ここでautoftp.batを指定しておけば、何もすることなく 作業が終わってしまうわけです。もちろん端末は立ち上げておか なければいけなかったり、たまに失敗することもありますので確 認作業は必要ですが、格段に楽になりますよね

0 Comments:

Post a Comment

<< Home