掲示板〜マロンくん.NET〜
[記事リスト] [新着記事] [ワード検索] [過去ログ] [管理用]

タイトル 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フレッツ」


- 関連一覧ツリー (▼ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)
おなまえ
Eメール
タイトル
メッセージ   手動改行 強制改行 図表モード
参照先
暗証キー (英数字で8文字以内)
  プレビュー

- 以下のフォームから自分の投稿記事を修正・削除することができます -
処理 記事No 暗証キー