MindTouch Developer Center > MindTouch Deki > FAQ > Configuration > How do I...Monitor and automatically restart my wiki?

How do I...Monitor and automatically restart my wiki?

Table of contents
No headers

Here's how to set up a cron job that checks your wiki every 5 minutes, restarts the wiki and emails you if anything goes wrong.

The cron job is created using crontab -e (for edit). The "*/5" means every 5 minutes. It will email you on any output.

MAILTO=yourname@yourdomain.com
# m h  dom mon dow   command
*/5 * * * *     $HOME/cron/check_wiki

The cron script "check_wiki" is created in a directory called "cron". The script can be made smarter and smarter (some "todo" examples have been included - hopefully someone will update the following with more advanced examples), for now this will just restart the dekihost service if we fail to get a webpage.

#!/bin/bash
# This script keeps an eye on the wiki and restarts it on error

# Try silently 3 times to access the wiki
wget -T 10 -t 3 -q  http://www.yourwiki.org/ 

# See if we have an error page or no page at all (grep error)
checkresult=$(grep "Your wiki is down" index.html)

# If we get something back we have an error
if [ "$checkresult" != "" ]
then
        # generate some output so the admin gets an email
        echo $checkresult
        # restart the wiki
        /etc/init.d/dekihost restart

        #todo: It would be nice to grep processes and logs
        # so that we have some idea I what went wrong
        echo "mono process info:"
        ps -ef | grep mono

        #todo: It would also be nice to escalate the issue
        # 1st: /etc/init.d/dekihost restart
        #
        # 2nd: /etc/init.d/dekihost restart
        #      /etc/init.d/apache restart
        #
        # 3rd: shutdown -n restart
fi
# remove the page we just retrieved
rm index.html*

Note: this will give your front page a high page count. If you are worried about that, you can remove the "wget" logic and try other things like poll the status of processes

checkresult=$(/etc/init.d/dekihost status | grep FAILED)
Tag page
You must login to post a comment.
Powered by MindTouch Deki Enterprise Edition v.8.08 RC2