Ok, ik ben een kleine stap verder:
Als de nas aan het opstarten is, werkt de webservice wel gewoon (de zarafa portal is via de web pagina te bereiken).
Pas als de NAS helemaal is opgestart, stopt de webservice.
Ik weet nu het commando om deze weer correct te starten.
/usr/syno/etc/rc.d/S97apache-user.sh start
Daarnaast heb ik nu een script in elkaar geflanst om te controleren of de webservice draait of niet.
Als de webservice UP is gebeurd er niet veel maar als de webservice down is wordt de webservice herstart en wordt er een mail de deur uit gedaan.
Maak een bestandje aan om er voor te zorgen dat er getest kan worden of de webservice up is:
touch /volume1/web/robots.txt
Script:
#!/bin/sh
PATH=/bin:/usr/bin:/opt/bin:/usr/sbin
THEDIR=./apache-watchdog
FROM=VAN_MIJ@DOMEIN.nl
TO=NAAR_JOU@DOMEIN.NL
SUBJECT="apache-watchdog: apache crashed - $(date)"
mkdir -p $THEDIR
rm -f $THEDIR/mail
rm -f ~/.apache-was-up
if ( wget --timeout=30 -q -P $THEDIR http://localhost/robots.txt )
then
# APACHE IS UP
touch ~/.apache-was-up
else
# down! but if it was down already, don't keep spamming
# write a nice e-mail
#HEADERS
echo "from: $FROM" > $THEDIR/mail
echo "to:$TO" >> $THEDIR/mail
echo "subject:$SUBJECT" >> $THEDIR/mail
#BODY
echo "apache crashed at:" >> $THEDIR/mail
date >> $THEDIR/mail
echo >> $THEDIR/mail
echo "Access log:" >> $THEDIR/mail
tail -n 30 /usr/syno/apache/logs/access_log>> $THEDIR/mail
echo >> $THEDIR/mail
echo "Acces log COMBINED:" >> $THEDIR/mail
tail -n 30 /usr/syno/apache/logs/access_log_combined >> $THEDIR/mail
echo >> $THEDIR/mail
echo "SYS ERROR LOG:" >> $THEDIR/mail
tail -n 30 /var/log/httpd-error-sys.log >> $THEDIR/mail
echo >> $THEDIR/mail
echo "USER ERROR LOG:" >> $THEDIR/mail
tail -n 30 /var/log/httpd-error-user.log >> $THEDIR/mail
echo >> $THEDIR/mail
echo "Messages log:" >> $THEDIR/mail
tail -n 30 /var/log/messages >> $THEDIR/mail
echo >> $THEDIR/mail
echo >> $THEDIR/mail
echo "Good luck troubleshooting!" >> $THEDIR/mail
# kick apache
echo "Now kicking apache..." >> $THEDIR/mail
/usr/syno/etc/rc.d/S97apache-sys.sh restart >> $THEDIR/mail 2>&1
/usr/syno/etc/rc.d/S97apache-user.sh restart >> $THEDIR/mail 2>&1
# send the mail
cat $THEDIR/mail << EOF | sendmail -t
EOF
fi
Ik hoop dat jullie er ook wat aan hebben.
Ik weet in ieder geval dat mijn webservice straks weer gewoon werkt als hij 1 minuut down is
Ik heb het script ook in de crontab geplaatst om ervoor te zorgen dat er elke minutt gekeken wordt of de webservice nog werkt of niet.
Hoe de crontab werkt lees je op de site van
wizjosvi /etc/crontab
Mijn crontab entry ziet er zo uit:
*/1 * * * * root /opt/home/apache-watchdog.sh
crontab herstarten zodat de controle gelijk in gaat:
/usr/syno/etc/rc.d/S04crond.sh stop
/usr/syno/etc/rc.d/S04crond.sh start