Иногда случается, что при сбое (например при большой нагрузке или при временном отсутствии
каналов связи) важные демоны самостоятельно завершают свою работу.
Например может случаться вот такая ошибка
squid[703]: Exiting due to repeated, frequent failures
Такое же может иногда случаться с IPA (/usr/ports/sysutils/ipa) и Apache.Чтобы автоматизировать отслеживание таких процессов можно создать
`crontab -e` задание (на примере Squid)
5,35 * * * * /usr/local/etc/rc.d/checksquid
./checksquid:
proc="squid"
PIDFILE=/var/run/${proc}.pid
if [ -f $PIDFILE ] ; then
PID=`head $PIDFILE`
if [ "x$PID" != "x" ] && kill -0 $PID 2>/dev/null ; then
RUNNING=1
else
RUNNING=0
fi
else
RUNNING=0
fi
if [ $RUNNING -eq 0 ]; then
echo "Starting $proc again..."
/usr/local/etc/rc.d/${proc}.sh start
continue
else
echo "$proc already running"
fi
Нужно только убедиться что нужные PID файлы хранятся в /var/run.
Директивы pid_filename в squid.conf, PidFile в httpd.conf
URL:
Обсуждается: http://www.opennet.dev/tips/info/889.shtml