ひとりごと

新しい記事:[884]  古い記事:[882] 表示単位 :

ついったー[おとなり日記] かがみさん Y.Kumagaiさん

2003/07/24 (木)

・ 会社も復活の呪文

おうちのpppは定期的に復活の呪文を唱えるようにしています。ほんとに効果があるのかはよくわかりませんが、今のところは固まる事も無く、ログを見ればこれまでに何度か(OSを再起動した翌日が多い) ppp再起動処理が発動しているようです。ということで、現在会社のサーバは固まるのを回避するためだけに毎朝 cron でリブート(笑)していますから、こちらにも復活の呪文を入れてみました。

なお、前に書いたものはFreeBSD5.1用なので、会社の4.8用にするとこんな感じでしょうか。

#!/bin/sh


PIDFILE=/var/run/tun0.pid
HISADDR=/var/log/hisaddr
if [ -f $PIDFILE -a -f $HISADDR ]; then
    PID=`cat $PIDFILE`
    i=1
    ping=-1
    while [ $i -le 10 -a $ping -ne 0 ]; do
        ping -c 1 `cat $HISADDR` >/dev/null
        ping=$?
        if [ $ping -ne 0 ]; then
            sleep 20
        fi
        i=`expr $i + 1`
    done
    if [ $ping -ne 0 ]; then
        echo "ppp is down"
        sleep 60
        echo "send -TERM"
        #kill -TERM $PID
        sleep 30
        ps -p $PID
        if [ $? -ne 0 ]; then
            echo "send -9"
            kill -9 $PID
        fi
        sleep 180
#        /etc/rc.d/ppp-user start
        /usr/sbin/ppp -quiet -ddial -nat dti
        echo "ppp restarted"
    fi
fi
じつはワタクシ、Bシェルの文法をほとんど知らないのでどう書けば美しいのかよくわからないのですが、まぁ動けばよいでしょう。ということで、今日からOSのリブートはやめてppp復活の呪文を実験です。

それはそうと、FreeBSD5の /etc/rc.d/なんとか というのはいいですねー。ps(1) で見るとオプションも見えるので止める前に見ればすむのですが、時々見るのを忘れて『なんやったっけ?』状態になるので、とてもありがたいです。

□ 関連記事

[つっこみ]

新しい記事:[884]  古い記事:[882] 表示単位 :
※このページへのリンクは自由です。リンクの方法については[つっこみ]で表示されるページの最後をごらんください。
たかたに(takatani@mars.dti.ne.jp)