index | labo | nextstep+rhapsody | network
1996.07.06 Updated

ホームページ登録ツールを作ろう(使い方)
KCNインターネットの標準手順では
一旦サーバーの自分のディレクトリにftpでデータを送った後
改めてサーバーにtelnetしていくつかの手作業をすることになっています

これを簡単にするためにシェルスクリプトを作ってみました
まずスクリプトを見てください
なにかの参考になれば ...
(シェルスクリプトの影響が理解できない人は試さないでください)

  1   自分のマシンでの作業
  1-1 WWWサーバーに置きたいファイルをディレクトリに並べます
  1-2 このディレクトリの「中身だけ」を
      tar+gzipでwww.tar.gzというファイルにアーカイブします
      (ディレクトリそのものをアーカイブしないように注意)
      eg. > cd homepage
          > tar -cvf /tmp/www.tar *
          > cd /tmp
          > gzip -9 www.tar
  1-3-a これをftpでwwwサーバーに送ります
  1-3-b これをuuencodeしてテキストファイルにします
        このファイルはあとでtelnetした時に送信します
        eg. > uuencode www.tar.gz www.tar.gz > uutext

  2   WWWサーバーでの作業 (無保証無担保要注意)
  2-1 www.kcn.or.jp にtelnetして 自分のアカウントでログインします
  2-2 スクリプト「~/../hyoudo/receiver」 を実行します
    a ftpですでにアーカイブファイルをここに置いたなら
      それを引き数として指定します
      eg. > ~/../hyoudo/receiver  www.tar.gz
    b telnetのコンソールからuuencodeされたテキストを流し込む事もできます
      引き数を指定せずに起動します
      この方法は小さなファイルを送るときに便利です
      eg. > ~/../hyoudo/receiver
  2-3 後はスクリプトがやってくれます
      最初に用意されたファイルがpublic_htmlディレクトリに展開され
      そのパーミッションが適切に設定され
      index.htmlが存在しなければindex.htmやINDEX.HTMがindex.htmlに設定されます
      スクリプト途中で失敗すればなにか変なメッセージがでるでしょう :-p

  3   そのほか
      public_htmlの中の古いファイルは自動では削除しません
      同一のファイル名を持つファイルは新しいもので置き換えられます
      (この2つのことから 更新部分だけ送ればいいことになります)

ver 1.2.4 の概要

Usage: receiver [-u|-i][-d|-v|-s] {file}

動作概要:
与えられたファイルをエンコードして~/public_htmlに展開し適切な属性を設定する

ファイル:
ファイルは引き数として与えるかまたは標準入力から流し込むこともできる
標準入力を使った時や引き数として後述する以外のファイル名を指定した時は
テキストエンコードファイルであるとして処理される

テキストエンコードファイルは標準的にはuuencodeされているものとして扱う
(オプションで指示(-i, --ish)されている時はishとして扱う予定だが無効である)
デコードした結果カレントディレクトリに後述するファイル名のファイルが存在すれば
それが処理の対象となるが存在しなければ(ファイル名が間違っていれば)無視して
処理が終了する(はずである)

引き数としてファイル名を与えたときファイル名の末尾(suffix)にしたがい処理する
認識できるファイル名は処理の都合から'www'に限定され
www.tar.gz www.tar.Z www.tar www.tgz WWW.TGZ www.lha WWW.LHA である
(ただし.lha .LHAは現在無効である また.tar.Z .tgz .TGZはテストしていない)
そのいずれでもないときはテキストエンコードファイルであるとして前処理される

ファイルの削除:
アーカイブファイルの展開途中で生じるファイルと同名のファイルは
その展開に先立って削除される(たとえばwww.tar.gzを展開する前のwww.tarなど)
作業用のディレクトリである~/wwwも作業に先立って削除される
アーカイブファイルや新たに展開された~/wwwディレクトリは
オプションで-s(または--safe)を指定しない限り削除される(デバッグ用です)

作業領域:
アーカイブファイルは一時的にwww.tarの形としてや~/wwwの下に展開される
これによって一時的にホームディレクトリのディスク使用量が増えるが
通常は作業終了までに自動的に削除される
念のため作業終了時点でのホームディレクトリの使用量を表示する

ファイルの置換:
public_htmlの中にはcpコマンドで転送するので
古いファイルと同名のファイルを新規に送った時は古いファイルは上書きされて消える
そうでない古いファイルはそのまま残る

デバッグ用オプション:
-v, --verbose
    処理途中の変数などを表示する(print debug)
-d, --debug
    展開処理の手前で処理を終了するようにしてある(break)
    このオプションを設定すると-sと-vも自動的に有効になる

1996.10.26 gzipをkcnのものを使うように変更

ネットワークの部屋の目次に戻る


Copyright (C) 1996-1997 hyoudo@kcn.or.jp