起動時にサービスを開始し、AIXで終了すると自動的に再生成します。

起動時にサービスを開始し、AIXで終了すると自動的に再生成します。

サービスを次のように設定できるスクリプトを作成しようとしています。

  1. 死後自動的に再起動
  2. 起動時に自動的に起動

を使用してこれを実行できますが、/etc/inittab使用している一部のAIXサーバーではそうではありませんinittab。これは、inittabのようにサービスを設定できないことを意味します。回避策を試したときに、mkssys、rmssys、startrc、およびstoprcが見つかりました。だから私はすべてのコマンドを使ってスクリプトを書いてみました。

%post
if [ -f /bin/mkssys ]; then
mkssys -s myservice -p /opt/fikrie/bin/myservice -a "-n" -u -R -S -f 9 -n 15
startsrc -s myservice
else
#use the inittab's script here
fi

%postun
if [ -f /bin/stopsrc ]; then
stopsrc -s myservice
rmssys -s myservice
else
#use the inittab's script here
fi

このスクリプトはほとんど作業を行います。唯一の問題は、起動中にサービスが開始されないことです。これは、サーバーの初回起動時にプロセスを手動で開始する必要があることを意味します。これを行うコマンドはありますか? mkssysコマンドで利用可能なオプションを見逃しましたか?

sshdサービスはinittabにはありませんが、起動中に開始されたため、トレースを試みました。おそらく私のサービスでも同じトリックを使うことができます。私の考えでは、sshdは起動中にrc.dを使用してサービスを開始すると思います。だから私はsshdのようなディレクトリにスクリプトを書いてみましたが、うまくいかないようです。誰でも私を正しい道で助けたり導いたりできますか?

ベストアンサー1

私が見つけた解決策の1つは、rc.dディレクトリを使用することです。 sshdを例に挙げてみましょう。これはinittabを使用しませんが、起動時に自動的に起動できるためです。

おすすめ記事