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つ繋げるのは引数を無効化したいとき