ホームページ更新限定、FTP支援ツール「FSM.X」

ソフトバージョン:0.4 ドキュメント:1999/5/27版


 ホームページで、更新されたファイルだけを自動でFTPできるようにしてくれるツールです。

 最大の目的は「電話料金の節約」。準備できる物は、全てオフラインで準備して、電話がつがったら、速攻で転送だけ済ませて、電話を切れる様にする。

 事前に、スクリプトファイルとして手順を決めてしまい、ftpは「しゃあるさん版」を利用して、リダイレクトで実行する形式で利用します。

 スクリプトの生成は、もちろん自動。新規ファイル&更新ファイルをputし、新規ディレクトリを作成し、消滅ファイル&ディレクトリは、delしてくれる。

 これが「fsm.x(FTP scriptfile maker)」です。

 と。これだけ読むと、なんだかすごく便利そうですが(^^;

 なにぶん、ど素人が作っているもので、変な制約とか、使っている本人もよくわからない設定とか、いろいろあったりします。

 できれば「ここはこうしたほうが良いよっ」と、指導してくれると嬉しいです。


・ダウンロードはVECTORよりお願いします。

「X68000/インターネット&通信/HTML作成/ホームページ更新」の下です。

 また、本ソフトは単体では、何の役にもたちません。しぁあるさん版FTPの用意が必須となっています(計測技研のFTPでは動作しません)。FTPはしゃあるさんのホームページからダウンロードしてください。

 これは、計測技研のFTPが、リダイレクションによるコマンド実行を上手く受け付けてくれないためです。

http://sharl.haun.org/x/tools.html#ftp

 ちなみに、以前あったダウンロードお知らせボタンは、7人の方が押されて行かれました。

 Vectorに登録後も、なんだかんだでDLランキングに見えるところにいるので、思ったよりは出回っているらしいです。

 でも全く音沙汰ありませんから、とりあえずいきなりバグとかは出ていないのでしょう。多分。

 こちらで確認しているユーザーは現在1人…。(今でも使っているかというと…)


[HOME] [一つ戻る]


「FSM.X」マニュアル(もしもアーカイブファイルに添付のものと内容が違っていたらこちらが最新です)

 

FTP script file maker「fsm.x」説明書
                   version 0.4 以降対象

0.はじめに

 FSM.xとは

 X680x0を使用して、ホームページの登録作業をする時に、転送時間を1分1秒
でも、短くし、極力自動的に転送させることを目的として開発されたFTPの支援
ツールです。

 私には通信制御部を記述する開発能力はありませんので、FTPソフト自体は、
しぁあるさんの作成したものを利用させていただき、自分はスクリプトファイル
を用意する部分を作るだけで、更新作業の自動化に成功させました。

主な機能として

  A.更新のあったファイルのみを選び出して転送(put)
  B.無くなったファイルを削除(del)
  C.新規に増えたディレクトリの作成(mkdir)
  D.必要無くなったディレクトリの削除(rmdir)

 の4つの機能があり、ホームページの更新を概ね自動化する事ができます。

 もちろん、ディレクトリの下にあるファイルも根こそぎ探し出します。


1.0.2 → 0.4 の差分

新機能

・CNFファイルによる指定によりファイルの転送モード(ASC/BIN)を拡張子単位
 で自動選択
・同じく、拡張子単位で転送対象外の指定も可能

バグ修正
・ファイル数が128を超えるとバスエラーが発生する不具合を修正
・オプション指定に関係無く HASH モード ON にしていたバグを修正
・実は、0.2は、デバッガのシンボル情報込みでコンパイルしていて、無駄に
 でかかったです(ごめんなさ〜い)


2.動作環境

・X680x0上で、インターネットにアクセスし、FTPが使用できる環境を構築
 済みであること。(各自研究してください)
・前回更新した時のファイルのコピーが手元に残っていること。(更新された
 かどうかの判断に使用されます)
・しゃあるさん版FTPを入手済みの事。(計測技研版FTPでは、うまく動作で
 きません)Beta4 & 5 で動作確認しています。
 これは、計測技研版FTPが、リダイレクションで上手く動作させられなかった
 為です。コマンドをリダイレクションで流し込んで動作するFTPが他にも存在する
 のでしたら、しゃあるさん版である必要はありません。


3.環境設定

 まず、転送作業用のディレクトリを用意します。

 そのディレクトリ配下に、現在サーバー上においてある物と同じファイルを置く
ディレクトリと、今回転送することになるファイルを置くディレクトリの2つを
作成してください。
 デフォルトでは、それぞれ「MAST」と「NEW」となります。

 各ディレクトリの下は、サーバー上と同じディレクトリ構成となるようにファイル
をおいてください。

 「MAST」の下に、全ファイルを置くのはもちろんですが、「NEW」の下にも更新し
ていないファイルも含めて、全て置くようにしてください。そうしないと、自動
削除の機能がうまく動きません。

 ちょっと分かりにくいのですが、たとえばNIFTYの場合、サーバーにログイン
したディレクトリから、「homepage」の下に移動した所へファイルを置くことになっ
ています。

 この場合は、「MAST」の下に「homepage」というディレクトリも作りその下に
ファイルをおいてください。

例)

「B:\FTP」というディレクトリ配下で作業するとき

B:\FTP\MAST\homepage\現在サーバー上にあるのと同じファイル群
B:\FTP\NEW\homepage\今回更新に使用するファイル群


 次に、しぁあるさん版FTPを用意します。ファイルはしゃあるさんのホームページ

http://sharl.haun.org/x/tools.html#ftp

 から、ダウンロードして下さい。

 このページでは、他にも68のネットワーク関係の最新情報が常時載っていたり、
500を越える68ユーザーのホームページリンク集があったりしますから、定期的に
見に行くことをお勧めします。

 さて。無事に手に入れたら、まずファイル名を変更します。

 しゃあるさん版FTPには、FTP本体に拡張子がついていません。が、これは名前を
「FTP.X」と変えるだけで、素のHuman68Kからでも問題なく起動できます。

 私は、計測技研版と区別するため「FTP2.X」としています。

 次に、自動ログインの環境を設定します。

「.newrc」というファイルを作成します。

 場所は、環境変数「HOME」か無ければカレントディレクトリです。ファイル名が
ピリオドから始まりますから「TwentyOne」は「+p」オプション付きで組み込んでお
いてください。

 このファイル内に各自のFTPサーバーの情報を設定してください。

 肝心なファイルの内容なのですが、実は私にもよくわかりません。各自で勉強を
お願いします。UNIXに詳しい人を捕まえれば知っているんじゃ無いでしょうか?
(本気でわからないんです。ごめんなさい)

 これは、単純なリダイレクションだけではパスワードの送信が上手くいかない為
に必要になっています。

例)
-------
machine nif    ←接続するホスト名
login mhtxxxxx  ←ホストに対するログイン名
passwd xxxxxxx  ←ログイン時のパスワード
-------
*私の環境では、hostsファイルにnifのftpサーバーのIPが設定してある
 ため、これだけのホスト名で接続できています。こうするとDNSに行かないので
 コンマ何秒かは早いかな〜と(^^;


 の3行だけが書いてあれば、とりあえず動いております。この内容の場合

B>ftp2 nif

 とやって、勝手にログインしてくれればOKです。

 最後に、「しゃあるさん版FTP」と「fsm.x」をパスの通してあるディレクトリに
入れておいてください。

 転送モード定義ファイルである「fsm.cnf」は「fsm.x」と同じディレクトリにお
いて下さい。

 以上で、準備完了です。


4.使い方

 長々と、準備してきましたが、一度環境ができてしまえばあとは簡単(なハズ)
です。

 まず、カレントディレクトリを最初に決めた作業ディレクトリとします。

 このディレクトリには「MAST」と「NEW」の2つのディレクトリがあるハズです。

 ここで、まず「FSM.x」をそのまま実行してみてください。

 終了すると、「script」というファイルができているハズです。

 これは、普通のテキストファイルですから、まず適当なエディタで開いてみてく
ださい。

 「script」の内容は、これから「FTP」が実行することになるコマンドラインが
そのまま並んでいます。

 今回、転送したいファイルだけが、put コマンドで転送される事、その転送モード
が期待通りに切り替わっていること等を確認してください。

 また、余計なファイルを消そうとしていないかも、よく見てください。(必ずPUT
より後の行に並びます)

 環境が正しければ、期待通りの内容となっているはずです。

 「script」の内容に問題が無ければ、早速転送してみましょう。

 まずは、ダイアルアップなりなんなりで、ネットワークに接続してください。

 接続できたら「しゃあるさん版FTP」を自動ログインできるように起動し、同時
にリダイレクションで「script」ファイルを流し込んでください。

例)

B>ftp2 nif < script

 これで、転送が始まります。画面には全くなにも表示されませんが、モデムは忙し
く働いているハズです。

 プロンプトが帰ってくれば、転送終了。ブラウザで確認してみてください。

 無事に転送できたことを確認できたら、最後の仕上げに「fsm -c」を実行してく
ださい。

 「NEW」配下の内容が「MAST」配下にコピーされ、次回転送用の状態になります。

 次の更新のファイル作成は、このまま「NEW」配下で行うようにすれば、即転送
できるようになります。

 この「-c」オプションは、最初から指定してしまっても良いのですが、何らかの
理由で、転送が中断してしまった時などに、MASTの内容が元に戻せなくなってしま
うので、ちょっと危険です。

応用編

 私は、以下の様なバッチファイルを作成し、接続後、即転送開始するようにして
います。

「pppx < dail」は、「ppp」を自動接続にさせるための細工です。「dail」は、中に
「dail」とだけ書いてある、テキストファイルとなっています。

 こうすれば、ppp起動後、勝手にdailコマンドが実行されるわけです。(他に正し
い方法があるのかも知れませんが…)

-------
fsm -h
pppx < dail
ftp2 nif < script
lynx http://member.nifty.ne.jp/xxx/
-------


5.オプションの説明

 一般公開にあわせ、若干のオプション指定を追加しました

 オプション指定は、「/」と「-」のどちらでも可能です。

/m[DIRNAME]
 マスターファイル(サーバー上のコピー)の入っているディレクトリ名を指定し
ます。
 ただし、この指定に「\」は使えません。つまり、何とかの更に下って指定はで
きません。
 デフォルトは「MAST」です。

/n[DIRNAME]
 更新ファイルの入っているディレクトリ名を指定します。
 この指定にも「\」は使えません。
 デフォルトは「NEW」です。

/s[FILENAME]
 出力ファイルのファイル名を指定します。
 デフォルトは「script」です。

/h
 ハッシュモードONにします。転送中、全くなにも表示されないのは不安なので
すが、このオプションをつけておけば、転送の様子が「#」で表示されます。

/c
 「NEW」配下のファイルを「MAST」配下にコピーします。ファイルの更新状況を
サーバー上に一致させる処理です。なるべく転送が正常に行われたことを確認した
後に実行してください。

/p
 「script」ファイルを「put」と「mkdir」だけにします。
 「MAST」配下にあって「NEW」配下に無いファイルがあると、「FSM.x」はファイル
が削除されたと思い、「del」のコマンドを生成します。
 しかし、都合により「NEW」配下に全ファイルが揃っていない事が分かっている時
など、事情によっては消したくないこともあるでしょう。そんなときに指定します。


6.CNFファイルについて

 拡張子単位で転送モードを決定するための定義ファイルが「fsm.cnf」です。

 このファイルは、実行ファイル「fsm.x」と同じディレクトリにおいて下さい。

 「fsm.cnf」の内容は、デフォルトで以下のようになっています。

------------------------
:ASCII mode
htm
html
cgi
txt
doc
:no Trancefer
bak
BAK
------------------------

 「:」行はコメント行ですが、データの区切りの意味もあるので省略しないで
下さい。

 最初の一群が、アスキーモード(テキストモード)で転送されるファイルの拡張子
の設定です。

 ここで設定された拡張子のファイルは、全てアスキーモードで転送されます。

 次の一群が、転送対象外となるファイルの拡張子の設定となっています。

 ここで設定されている拡張子のファイルが NEW 配下に増えていても、転送はさ
れません。

 主に、バックアップファイルの消し忘れ対策です。

 必要に応じで、設定を増やして下さい。

 大文字小文字は、区別していますので、混ざっている可能性のある場合には、両方
を設定するようにして下さい。

 それぞれ、最大255種類まで設定できますが、まずそこまで必要になることは
無いでしょう。

 このファイルに登場しない拡張子は、全てバイナリーモードで転送されます。


7.制限事項

 すべてのファイルを一律バイナリーモードで転送から、拡張子単位で自動選択と
なったわけですが、どいつとどいつをアスキーにすれば良いのか、よく分からんの
で、デフォルトの CNF ファイルの中身は適当です。

 各自で適時設定して下さい。(特に、cgiってアスキーで良かったのかなぁ)

 また、このマニュアルに書いてあることがよくわからない、って人も多数発生し
てしまうかもしれません。その場合も、とりあえずメールで問い合わせてみてくだ
さい。


8.おやくそく

 このソフトは、フリーソフトです。

 再配布なり、転載なり、自由に行なってかまいません。

 このソフトは未保証です。

 このソフトを実行して生じた、如何なる損害も,作者は一切の責任を負いません。

 但し、バグ情報を報告していただいた場合は、可能な限り対処します。

 感想、苦情、質問、リクエストの類は大歓迎です。


9.履歴

version 0.0 1998/5/13 更新ファイルの検索機能のみ動作成功
version 0.1 1998/5/27 PUT DEL MKDIR RMDIR の4機能サポート
個人的使用開始
version 0.2 1998/6/25 一般公開版(公開は7/30)
オプション指定機能追加
version 0.3 1998/10/15 ファイル数128以上でバスエラーのバグ修正(未公開)
version 0.4 1998/10/18 拡張子による、転送モードの自動切替と、
非転送の指定をサポート

version 0.41 1999/5/27 作者連絡先の変更に伴い、ドキュメントのみ改版

-----------------------------------------------
企画・制作 吉田 昌之
http://www.aurora.dti.ne.jp/~yoshidav/
E-MAIL:yoshidav@aurora.dti.ne.jp



[HOME] [一つ戻る]