Se me ocurrió que, si miraba en el log de apache y buscaba la cadena típica que deja el PHP (o lo que esté fastidiando) cuando se "estropea", podría automatizar el reinicio del servidor hasta que diese con el problema. En mi caso, el mod_php5 hacía que el Apache se muriese con un "segmentation fault".
Éste es mi sencillo "script":
LINEAS=20
TOPE=18
CADENA="exit signal Segmentation fault"
REINICIAR="service httpd restart"
FICHREPORTE="/root/resultadosReinicios.log"
FICHLOG="/var/log/httpd/error_log"
NUMLINEASCHUNGAS=`tail --lines=$LINEAS $FICHLOG | grep "$CADENA" | wc -l`
if [ $NUMLINEASCHUNGAS -gt $TOPE ]; then
$REINICIAR
echo `date` ": se ha reiniciado el apache." >> $FICHREPORTE
cat From: `hostname`
To: mi@direccion.correo
Subject: Acabo de reiniciar el Apache
Hola, soy el script que monitoriza el Apache de `hostname` y lo acabo de reiniciar.
EOF
fi
La finalidad de este script es poderte ir a dormir y al menos estar tranquilo durante la noche sin que el teléfono suene ;-)
En distros de la "familia Debian" se reiniciaría el Apache con un /etc/init.d/apache2 restart