AliveCheck
last edited 7 years ago
適当な名前でpython script(/test/isaliveとか) と shell script ($ZOPEHOME/isalive とか)を書く
(そこにはありませんが)。
print "--pythonscriptalivemessage--"
return printed
なんてシンプルなんだ(^^;;
#!/bin/sh
TMP="/tmp/usotmp.$$"
ZOPEHOME="/どこか"
echo "null" > $TMP
ps aux | grep -v grep | grep zope > /dev/null
if [ "$?" -eq 0 ]; then
wget -nv -t 1 -T 45 -O $TMP http://host.dom/test/isalive 2>/dev/null
grep -e '--pythonscriptalivemessage--' $TMP > /dev/null
if [ "$?" -eq 0 ]; then
unlink $TMP
exit 0;
else
echo zope found but dead.
killall $ZOPEHOME/bin/python; killall $ZOPEHOME/bin/python; killall zope
fi
else
echo zope dead.
fi
echo "It is waiting to detach ports for 45 seconds."
sleep 45;
$ZOPEHOME/start&
unlink $TMP
exit 1;
なんてテキトーなんだ(^^;;;;
あとはcrontab でときどき見るようにするとか。
59 * * * * * /zopeのhome/isalive
みたいな。
あ、ちなみに、wget とソケット待ちの共に45秒には特に意味はないです(^^;;