# Mark Huang <mlhuang@cs.princeton.edu>
# Copyright (C) 2006 The Trustees of Princeton University
#
-# $Id: crond,v 1.1 2006/04/06 21:51:59 mlhuang Exp $
+# $Id: crond,v 1.9 2007/02/07 23:21:27 mlhuang Exp $
#
# Source function library and configuration
. /etc/plc.d/functions
. /etc/planetlab/plc_config
+# Be verbose
+set -x
+
+# Export so that we do not have to specify -p to psql invocations
+export PGPORT=$PLC_DB_PORT
+
case "$1" in
start)
MESSAGE=$"Starting crond"
else
MAILTO=
fi
+
cat >/etc/cron.d/plc.cron <<EOF
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
HOME=/
# minute hour day-of-month month day-of-week user command
-*/5 * * * * root gen-slices-xml-05.py
-*/15 * * * * root gen-sites-xml.py
-*/15 * * * * root gen-static-content.py
EOF
- # Run them once at startup
- gen-slices-xml-05.py
- check
- gen-sites-xml.py
- check
- gen-static-content.py
- check
+ # Run all jobs once at startup
+
+ if [ "$PLC_BOOT_ENABLED" = "1" ] ; then
+ echo "*/5 * * * * root gen-slices-xml-05.py" >>/etc/cron.d/plc.cron
+ gen-slices-xml-05.py
+ check
+ fi
+
+ if [ "$PLC_WWW_ENABLED" = "1" ] ; then
+ echo "*/15 * * * * root gen-static-content.py" >>/etc/cron.d/plc.cron
+ echo "*/15 * * * * root gen-sites-xml.py" >>/etc/cron.d/plc.cron
+ echo "00 * * * * wget -O - -q http://localhost/cron.php" >>/etc/cron.d/plc.cron
+ gen-static-content.py
+ check
+ gen-sites-xml.py
+ check
+ wget -O - -q http://localhost/cron.php
+ check
+ fi
+
+ if [ "$PLC_DNS_ENABLED" = "1" ] ; then
+ echo "*/15 * * * * root dns-config" >>/etc/cron.d/plc.cron
+ dns-config
+ check
+ fi
+
+ if [ "$PLC_DB_ENABLED" = "1" ] ; then
+ echo "5 5 * * * root vacuumdb -U postgres --all --analyze --quiet" >>/etc/cron.d/plc.cron
+ vacuumdb -U postgres --all --analyze --quiet
+ check
+ fi
plc_daemon crond
check