毎日のスケジュールの設定

毎日のサーバー・デーモンの起動を手動で行うのは大変ですからスケジュールさせたいものです。
それには次の2つの方法のいずれかを選択してください。

STRENTSVR のスケジュール機能を使用する

STRENTSVR の SBMJOBスケジュール・パラメータで *CURRENT (現在)の代わりに *WEEKLY を指定すると、
月曜日から金曜日までの指定した「開始時刻」にサーバー・デーモンは開始します。

また *ALL に指定するとすべての曜日に開始されます。

QSTRUP にスケジュールする。

IBM i の スタート・アップ QSTRUP の CLP にサーバーの開始を指定します。
QSTRUPQSYS/QSTRUP として通常は登録されていますので

RTVCLSRC PGM(QSYS/QSTRUP) SRCFILE(QSYS/QCLSRC)

によって QGPL/QCLSRC メンバー QSTRUP として取り出すことができます。
QSTRUPソースの後ろのほうには DONE という名前のタグがありますので、この後ろに

  DONE:
       STRSBS SBSD(ASNET.COM/ENTPRSSVR)
       DLYJOB DLY(60)
       ASNET.COM/STRHTPSVR

を追加することで、Alaskaが自動で起動するようになります。

ご参考までにこの後、
CL QSTRUP を再コンパイルすることになるわけですが
QSTRUP のオブジェクトを QSYS に保管することは好ましくありません。
ユーザーの QSTRUP の記述に問題が発生したような場合には復旧の可能性を
残しておかねばならないからです。
よって、

CRTCLPGM QGPL/QSTRUP SRCFILE(QGPL/QCLSRC) AUT(*ALL)

のように QGPLにコンパイルしてから
WRKSYSVAL QSTRUPPGM のライブラリー指定を QGPL に変更するほうが
安全です。

ご注意

  • STRTCP の明示的な開始はやはり必要

    QSTRTCP に記述しなくても TCP/IPの開始(STRTCP)は自動開始されますが、
    これは QSTRTCP の後に行われます。
    よって QSTRUP の中に STRHTPSVR や STRHSTSVR の TCP/IPを
    使用するTCP/IPサーバー・デーモンを登録してもその時点ではTCP/IPが
    開始されてしないために Socket 作成のエラーとなり、サーバー・デーモンを
    開始することができません。

  • QSECURITY = 30 以上での注意

    QSTRUP はユーザー・プロフィール QPGMR の元で開始されますが、QPGMR には
    *ALLOBJ 権限がありません。
    このため サーバー・デーモンが開始できないか、または開始されてもクライアントと
    QPGMR以外では接続できないような障害が発生します。

    このことを避けるためには CHGUSRPRF コマンドによって QPGMR に *ALLOBJ 特殊権限を
    手動によって追加
    してください。