Linuxはランレベル毎に起動スクリプトを指定のフォルダにおいてモジュール起動を実現している。しかし、FreeBSDの場合はいささか勝手が違ってくる。そこで、FreeBSDのモジュール起動設定方法を説明してみたい。
1.stop&startで制御出来るスクリプト
例えば、Apacheの起動スクリプトを見てみる。
# vi 050.apache.sh
#!/bin/sh
case “$1” in
start)
if [ -x /usr/local/apache/bin/apachectl ]; then
/usr/local/apache/bin/apachectl start && echo -n ‘ Apache Start’
fi
;;
stop)
if [ -x /usr/local/apache/bin/apachectl ]; then
/usr/local/apache/bin/apachectl stop && echo -n ‘ Apache Stop’
fi
;;
*)
echo “$0 start | stop”
;;
esac
尚、当たり前の事だが手動で実行する場合の起動コマンドは、
# 050.apache.sh start
停止コマンドは、
# 050.apache.sh stop
2.ただ起動するだけのスクリプト
#!/bin/sh
if [ -x /usr/local/apache/bin/apachectl ];then
/usr/local/apache/bin/apachectl start
fi
3.起動スクリプトの格納場所とファイル名の付け方
起動スクリプトを置く場所は、/usr/local/etc/rc.dである。
# cd /usr/local/etc/rc.d
# ls -al
total 18
drwxr-xr-x 2 root wheel 512 Nov 7 13:18 .
drwxr-xr-x 6 root wheel 512 Sep 9 12:10 ..
-r-xr-xr-x 1 root wheel 50 Jan 3 2003 000.compat4x.sh
-r-xr-xr-x 1 root wheel 524 Jul 31 13:46 010.exim.sh
-r-xr-xr-x 1 root snort 1890 Aug 1 05:36 020.snort.sh
-r-xr-xr-x 1 root wheel 232 Jan 3 2003 030.proftpd.sh
-r-xr-xr-x 1 root wheel 195 Aug 6 01:17 040.ntop.sh
-r-xr-xr-x 1 root wheel 350 Aug 7 15:28 050.apache.sh
-r-xr-xr-x 1 root wheel 263 Aug 7 17:20 060.pgsql.sh
このような、ファイルが置かれている。
起動モジュールのファイル名の付け方は、000.compat4x.shとか010.exim.shで先頭に3桁の数字で起動のプライオリティを決めている。当然だが、数字の少ないスクリプトから先に起動される。尚、ファイルのパーミッションは、555が望ましい。
以上
コメント