Debian系とRedHat系の起動スクリプト
/etc/init.d/nginx start
というか、利用するときは service nginx start
を叩くけど、こういう起動スクリプトはミドルウェアの起動によく使います。
訳あって自社サービス用の起動スクリプトを Ubuntu 版から CentOS 版へと移行したので、作業にあたって必要になった知識をメモ。
Ubuntu | CentOS | |
---|---|---|
起動スクリプト用の関数 | /lib/lsb/init-functions | /etc/init.d/functions |
テンプレート | /etc/init.d/skeleton | /usr/share/doc/initscripts-9.03.40/sysvinitfiles |
Ubuntu
- 固有知識
- 参考リンク
CentOS
- 固有知識
- 参考リンク
シェルスクリプト
- 変数は可読性を考慮して $PIDFILE ではなく ${PIDFILE} と必ず書く
- if 文で使う test コマンドと [] は同じ意味、可読性的に後者を使う
if [ $? == 0 ]
とif [[ $? == 0 ]]
は扱いが異なるらしいrm -- -txt
のようにコマンドにハイフン2つ繋げるのは引数を無効化したいとき