Index of /distribution/wron.nt

[ICO]NameLast modifiedSizeDescription

[PARENTDIR]Parent Directory  -  
[TXT]README.html2022-02-03 15:58 15K 
[IMG]capture1.gif2022-02-03 15:58 5.3K 
[IMG]capture2.gif2022-02-03 15:58 2.8K 
[IMG]capture3.gif2022-02-03 15:58 6.5K 
[TXT]history.txt2022-02-03 15:58 2.2K 
[   ]wron.lzh2022-02-03 15:58 482K 

wron - windows cron

wron - windows cron

ver.0.95 2002.2.17 変更履歴

WindowsNTなどで実行しないといけない定期ジョブは通常atコマンド(スケジュールサービス)を利用すると思います。 しかしながら、atコマンドでの管理は、実行するタスクの数が多くなると見通しが悪くなってきます。

また、時々止ってしまいます。当方ではWindowsNT4 Serverで夜間バッチの実行をatコマンドで運用していたのですが、数ヶ月連続運用していると何故か一切実行されなくなることがありました。実行できなくなるとサーバの再起動するしかスケジュールサービスの復旧ができませんでした。サーバなのに。

WindowsNTで動くcronを探したのですが、見当たらなかったのでwronを作成しました。今さがすといろいろ見つかります。探し方が悪かったのか、もう少し待てば良かった。

当方の手元で wron ver.0.86はファイルサーバとOracle7.3.2(古い?)の稼動するデータベースサーバ(どちらもWindowsNT 4.0 Server sp6)で、2001年6月から約6ヶ月順調に稼動しました。連続稼動は3週間程で、その間再起動した理由は定期メンテナンスの為です。細かいところを見直して一般に公開します。同じような問題を抱えているシステム管理者の方はどうぞ御試し下さい。

wron ver.0.95を製作した有限会社ファブリスは諸々の権利を放棄しません。
が、wron ver.0.95は自由にご利用いただいてかまいません。
また、wronを使用することで生じたいかなる損害に対しても、有限会社 ファブリスは責任を負いません。

動作環境

wronはWindosNT4 sp6 Worksstation上のBorland Delphi 5で開発されています。
連続稼動を確認したのは、Windows NT Server 4 sp6です。
特に変わったことはしていないので、Windows95、98、2000などでも動作すると思われますが、確認はしていません。
ver.0.95よりWindows95、98、MEでは動作しなくなりました。
普段使うマシンで実行するのではなくて、24時間動きっぱなしのサーバマシンで使うことを想定しています。

ver.0.95で追加された機能

詳しくは変更履歴を参照してください。

FBMailの取得

メールでのお知らせ機能を利用するには、弊社で無性提供しているFBMailが必要です。
FBMailは弊社WEBサイトからダウンロードして無償で利用できます。

直接ダウンロード http://www.fabrice.co.jp/distribution/fbmail/fbmail.lzh

ダウンロードしてテキトウなディレクトリに解凍して、fbmail.exeのパスをwronのメール設定から指定して下さい。

 

この区切り線から下は最新バージョン(ver.0.95)に追いついていません。


インストール

アーカイブファイルを適当なディレクトリに解凍して下さい。インストーラなどは付属していません。
アンインストールは解凍したディレクトリ毎削除して下さい。 wronはレジストリを使用しません。

使い方

  1. 設定ファイル(wrontab-xml)を書いて(書き方は後述)、「ファイル(F)-開く(O)」で読み込みます。


  2. ちゃんとした設定ファイルだと、「開始」ボタンが使えるように変わります。


  3. 「開始」 ボタンをクリックすると、定時実行が始まり、開始ボタンが停止ボタンに変わります。
    止めたいときは停止ボタンをクリックしてください。


機能(メニュー構成)

ファイルメニューの機能にはショートカットが割り当てられている場合があります。それらショートカットについては実際の各メニューを参照して下さい。

ファイルメニュー

開く

設定ファイル(wrontab-xml)を開いて読み込みます。このときXMLがパースされます。

開始/停止

定時実行中の場合は「停止」と表示され、停止中の場合は「開始」と表示されています。定時実行を開始/停止します。

選択中のタスクを実行

メイン画面で選択しているタスクを実行します。ダブルクリックしても実行します。

設定編集

読み込んでいる設定ファイル(wrontab-xml)をテキストエディタで開きます。

終了

ログメニュー

ログファイル

カレントログファイルをテキストエディタで開きます。ログファイルは「YYYY-MM-DD.log」形式で1日1ファイルに記録されます。

ログの出力レベル

info:タスクの実行など運用上必要なログだけ
debug:wrontab-xmlのパース状況などの詳細なログを出力します。debugにしたときは、後述のイベントログに出力しないようにしたほうがいいです。すぐいっぱいになります。

イベントログに出力

WindowsNT、2000の場合、イベントログにログを出力することができます。

ツールメニュー

メール設定

fbmailの設定をします。wron.exeと同じディレクトリにfbmail.exeがある場合は適切なデフォルト設定で動作します。
設定する項目はfbmail.exeのパスと、fbmailの起動間隔、起動時にウインドウを表示するかしないかの3つです。
メールでのお知らせ機能を利用しない場合は、設定不要です。

ヘルプメニュー

ヘルプ

この文書を開きます。

バージョン情報

wronのバージョン情報を表示します。

設定 (wrontab-xml)

以下wronをインストールしたディレクトリをWRON_HOMEと呼びます。 wronはXMLの設定ファイルを読み込みます。現在(wrontab-xml ver.1.1)です。DTDは「WRON_HOME\dtd\」ディレクトリにあります。「WRON_HOME\sample\」ディレクトリのサンプル設定ファイルも参照して下さい。カンタンカンタン。

wrontab-xmlサンプル(sampleディレクトリのsample.xmlも参照してください)

<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE wrontab SYSTEM "wrontab-1.2.dtd">
<wrontab version="1.2" logdir="C:\log">

<smtp>
<host>smtp.your.domainname</host>
<port>25</port>
<from>wron-master@your.domainname</from>
<userid>wron-userid</userid>
<password>wron-user-password</password>
</smtp>

<task name="タスク1">
<command>echo</command><!-- echoコマンドで -->
<parameter>五月蝿い蚊?</parameter><!--「五月蝿い蚊?」とコンソールに表示する -->
<defaultdir></defaultdir>
<minute>7-13</minute><!--7から13分まで毎分 -->
<hour>21-23</hour><!--夜9時から夜11時まで -->
<dayofmonth>*</dayofmonth>
<month>*</month>
<dayofweek>0,6</dayofweek><!--週末 -->
<mailto>wron-manager@your.domainname, wron-sub-manager@your.domainname</mailto>
</task>

<task name="task2">
<command>task2.bat</command>
<parameter></parameter>
<defaultdir></defaultdir>
<minute>*</minute>
<hour>13-20</hour>
<dayofmonth>1,31</dayofmonth>
<month>*</month>
<dayofweek>*</dayofweek>
</task>


</wrontab>

<!-- wrontab-dtd ver.1.1 start -->

<!ELEMENT wrontab (task*)>
<!ATTLIST wrontab version CDATA "1.1">
<!ATTLIST wrontab logdir CDATA #IMPLIED>
<!ELEMENT task (command,parameter?,defaultdir?,minute?,hour?,dayofmonth?,month?,dayofweek?)>
<!ATTLIST task name CDATA #REQUIRED>
<!ELEMENT command (#PCDATA)>
<!ELEMENT parameter (#PCDATA)>
<!ELEMENT defaultdir (#PCDATA)>
<!ELEMENT minute (#PCDATA)>
<!ELEMENT hour (#PCDATA)>
<!ELEMENT dayofmonth (#PCDATA)>
<!ELEMENT month (#PCDATA)>
<!ELEMENT dayofweek (#PCDATA)>

<!-- wrontab-dtd ver.1.1 end -->

xml encoding

encodingは指定しない場合、「UTF-8」が仮定されます。
encodingに指定できるのは、UTF-8、EUC-JP、Shift_JIS、ISO-2022-JP(JIS)です。
encodingとwrontab-xmlの文字コードを合わせて下さい。

wrontab要素

wrontab-xml のルート要素です。

version属性

wrontab-xmlのバージョンを表します。 バージョン属性は現在のところ1.0と1.1があります。
指定は任意で、指定しなかった場合は「1.1」 と仮定されます。 (1.0はwron ver.0.91以前の形式)

logdir属性

wronの実行ログを出力するディレクトリを指定します。任意属性です。デフォルトは「WRON_HOME\log\」です。

task要素

タスクの設定のルート要素です。

name要素

タスクの名前。必須要素です。

command要素

実行するときのコマンドラインを指定します。必須要素です。

parameter要素

command要素に指定したコマンドに渡すパラメータを指定します。任意要素です。

defaultdir要素

タスクを実行するときのカレントディレクトリを指定します。任意要素です。

minute要素

タスク実行の「分」を指定します。指定は任意で、指定しない場合は「*」(毎分)が仮定されます。
0から59までの範囲で指定します。例えば0分は0と指定します。
複数の分を指定する方法は2種類あります。
例1) <minute>2,4,16</minute> これは、2分、4分、16分に実行するという意味です。
例2) <minute>2-8</minute> これは、2分から8分に実行するという意味です。
※例1と例2の組み合わせは利用できません

hour要素

タスク実行の「時」を指定します。指定は任意で、指定しない場合は「*」(毎時)が仮定されます。
0から23までの24時間制で指定します。例えば7:00p.m.は19と指定します。
複数の時を指定する方法は2種類あります。
例1) <hour>2,4,16,18</hour> これは、2時(a.m.)、4時(a.m.)、16時、18時に実行するという意味です。
例2) <hour>2-8</hour> これは、2時(a.m)から8時(a.m.)に実行するという意味です。
※例1と例2の組み合わせは利用できません

dayofmonth要素

タスク実行の「日」を指定します。指定は任意で、指定しない場合は「*」(毎日)が仮定されます。
1から31までの範囲で日付を指定できます。
複数の日を指定する方法は2種類あります。
例1) <dayofmonth>2,4,6,8</dayofmonth> これは、2日、4日、6日、8日に実行するという意味です。
例2) <dayofmonth>2-8</dayofmonth> これは、2日、3日、4日、5日、6日、7日、8日に実行するという意味です。
※例1と例2の組み合わせは利用できません

daiofweek要素

タスク実行の「曜日」を指定します。指定は任意で、指定しない場合は「*」(毎曜日)が仮定されます。
日曜日が0で順に1,2,3,,,で6が土曜日です。
複数の曜日を指定する方法は2種類あります。
例1) <dayofweek>2,4,6</dayofweek> これは、火曜日、木曜日、土曜日に実行するという意味です。
例2) <dayofweek>1-5</dayofweek> これは、月曜日から金曜日まで実行するという意味です。
※例1と例2の組み合わせは利用できません

mailto要素

お知らせメールの送信先アドレスを指定します。複数の宛先を指定する場合は、「,」(カンマ)で区切って指定して下さい。

smtp要素

お知らせメールの送信に使うSMTPの情報を設定します。
最低必要な要素はhost要素、port要素、from要素です。userid要素、password要素はメールの送信に失敗する場合は設定してみて下さい。

host要素

メール送信を受け持つSMTPサーバの稼動しているホスト名かIPアドレスを指定します。この要素は必須です。

port要素

SMTPサーバの監視しているポート番号を指定します。通常25のはずです。

from要素

お知らせメールの差出人のメールアドレスを指定します。

userid,password要素

SMTPサーバの利用にユーザIDとパスワードが必要な場合に指定します。

 

使用方法

wron.exe [wrontab-xml] [--auto-start]

wrontab-xml 設定ファイルを指定すると読み込む。
--auto-start wrontab-xmlの指定が必須です。自動的に指定されたwrontab-xmlを読み込んで、開始する。

wron.exeを起動して、メニューの「ファイル(F)-開く」から設定ファイルを開いて、「ファイル(F)-開始」で開始する。

wronの実行中にwrontab-xmlを変更すると、自動的に再読込みします。再読込みすると、状況表示は一旦クリアされます。クリアされた内容はログには記録されています。

タスクトレイのアイコンをクリックするとメニューが表示されます。
「ウインドウ表示切替」はウインドウの表示/非表示を切り替えます。

ファブリスのお客様での使用例:
c:\wron\wron.exe --auto-start wrontab.xml
というコマンドを実行するショートカットをスタートアップフォルダに作成しています。
サーバを起動すると自動的にwronが起動して、c:\wron\wrontab.xmlを読み込み、実行を開始します。

感謝

wrontab-xmlのparseに以下のコンポーネントを利用しました。
Delphi XML Parser component www.destructor.de

今後

当方での利用上は初期の目的(シンプルなatコマンドの置き換え)を達成したので、今のところバージョンアップの予定はありませんが、 以下の項目についてはその内対応したいと考えています。

  • NT/2000のサービス化
  • タスクの二重起動防止用のロック機能(待ち合わせ実行)
  • wrontab-xml用のDTDの作成とValidation
  • wrontab-xmlエディタの開発
  • Eメールで管理者に実行状況を報告する機能(ver.0.95 beta7より実装)
  • vixie-cron3.0互換性(遠い道のり)
  • アイコンを作る
  • コンタクト

    不具合のご報告は歓迎します。Wron問合わせ、ご報告 inq@fabrice.co.jp

    有限会社 ファブリス http://www.fabrice.co.jp/
    東京都文京区弥生2-12-1-4F
    TEL 03-5840-8960 FAX 03-5840-8961
    MAIL inq@fabrice.co.jp