タイトル | : swatchの起動スクリプトについて |
投稿日 | : 2005/12/14(Wed) 20:00 |
投稿者 | : 風雲 |
はじめまして。風雲と申します。
http://www.marronkun.net/linux/security/swatch_000037.html
http://linuxexpert.ne.jp/modules/pukiwiki/99.html
こちらの記事を参考に、swatchの起動スクリプトを書いてまして、うまく動かず、困っており、ご教授願えればと思います。
#! /bin/sh
#
#chkconfig: 2345 99 01
# description: tcpserver
# Source function library.
. /etc/init.d/functions
RETVAL=0
# See how we were called.
case "$1" in
start)
echo -n "Starting Swatch: "
/usr/bin/swatch -c /root/.swatchrc -t /var/log/apache2/ssl_request_log &
/usr/bin/swatch -c /root/.swatchrc -t /var/log/auth.log &
RETVAL=$?
echo
;;
stop)
echo -n "Stopping Swatch: "
killproc tail
RETVAL=$?
echo
;;
restart)
$0 stop
$0 start
RETVAL=$?
;;
と書いた/etc/init.d/swatchを作りまして、わたくしの環境が、/etc/ini.d/以下にswatchやapacheなど起動スクリプトがありますので、「. /etc/rc.d/init.d/functions」を「. /etc/init.d/functions」と書き換え、サーバを再起動して、わざとエラーを出してみたのですが何もメールで届かないので、psで確認してみると、swatchは起動していないようでした。
swatch -c /root/.swatchrc -t /var/log/auth.log &
/usr/bin/swatch -c /root/.swatchrc -t /var/log/auth.log &
と実行させると、エラーがあれば、メールは届きますので、/etc/init.d/swatchの書き方が悪いのかなと思っています。
/root/.swatchrcを起動しているので権限が必要なのかわからないのですが、念のため(カッコでどういうことをしているのか思いつく限りで書いてみました。実際のスクリプトにはカッコ内は書かれていません。)、
#! /bin/sh
#
#chkconfig: 2345 99 01 (2,3,4,5のランレベルで起動。99番目に始まり、01番目に終わる)
# description: tcpserver (tcpserverで起動?)
# Source function library.
. /etc/init.d/functions (funcionライブラリを呼ぶ?)
RETVAL=0 (変数を定義)
# See how we were called.
case "$1" in (startの場合)
start)
echo -n "Starting Swatch: "
su - root -c /usr/bin/swatch -c /root/.swatchrc -t /var/log/apache2/ssl_request_log &
su - root -c /usr/bin/swatch -c /root/.swatchrc -t /var/log/auth.log &
RETVAL=$? (startした場合の変数を定義)
echo
;;
stop)
echo -n "Stopping Swatch: "
su - root -c killproc tail (受け取った引数を停止。tailである理由はなぞです。)
RETVAL=$? (上記での変数を定義)
echo
;;
restart)
su - root -c $0 stop (stopして)
su - root -c $0 start (startする)
RETVAL=$? (変数を定義)
;;
*)
echo "Usage: swatch {start|stop|restart}"
exit 1 (エラーの場合は1を返す?)
esac (caseの反対だということですが、理解できていません。)
exit $RETVAL (変数を出る。)
と「su - -c」で権限を与えてやってみましたが、それでもやはり起動時には自動的に動きませんでした。
一応、
swatch -c /root/.swatchrc -t /var/log/apache2/ssl_request_log &
swatch -c /root/.swatchrc -t /var/log/auth.log &
のように、/usr/bin/swatchのパスをswatchにも変えてみましたが、それでもダメでした。
わからないところだらけで申し訳ないのですが、参考サイトでも構いませんので、アドバイスいただけますと助かります。
よろしくお願いします。
P.S.
OSはDebianです。
<PR>
月額2100円/3675円でグローバル固定IPを取得、サーバ構築・VPN・SOHOが可能。
「ZOOT for Bフレッツ」