毎日のサーバー・デーモンの起動を手動で行うのは大変ですからスケジュールさせたいものです。
それには次の2つの方法のいずれかを選択してください。
STRENTSVR のスケジュール機能を使用する
STRENTSVR の SBMJOBスケジュール・パラメータで *CURRENT
(現在)の代わりに *WEEKLY
を指定すると、
月曜日から金曜日までの指定した「開始時刻」にサーバー・デーモンは開始します。
また *ALL
に指定するとすべての曜日に開始されます。
QSTRUP にスケジュールする。
IBM i の スタート・アップ QSTRUP
の CLP にサーバーの開始を指定します。
QSTRUP
は QSYS/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 特殊権限を
手動によって追加してください。