2009/01/18

RAが流れなくなる

どうもRAが流れなくなるので、スクリプトで定期的にチェックして、流れていなければ radvdを起動しなおすようにした。


#!/bin/sh -
TMPFILE="/tmp/chkradvd.$$"
IF="eth0"

if [ -f /var/run/radvd.pid ]; then
        /usr/sbin/radvdump | /bin/grep $IF > $TMPFILE &
        CHKPID=`/bin/ps ax|/usr/bin/awk '/[r]advdump/{print $1;}'`
        /bin/sleep 300
        /bin/kill $CHKPID
        if [ ! -z $TMPFILE ]; then
                /bin/rm $TMPFILE
                exit 0
        fi
        /bin/kill `/bin/cat /var/run/radvd.pid`
        /bin/rm $TMPFILE
fi
/usr/bin/logger "Restart radvd"
/usr/sbin/radvd



1 件のコメント :

  1. busyboxのashだと、-zが使えないっぽいので、"x" != "x`/bin/cat $TMPFILE`" としてみた。

    返信削除

Comments on Google+: