1#!/bin/sh /etc/rc.common 2# Copyright (C) 2006 OpenWrt.org 3START=70 4 5CRONTABS=/tmp/etc/crontabs 6CRON_SPOOL=/var/spool/cron 7 8prepare_crontab() 9{ 10 case "$($CONFIG get i_opmode)" in 11 apmode) 12 /sbin/apsched ;; 13 brmode) 14 echo -n > $CRONTABS/root 15 echo -n "root" > $CRONTABS/cron.update 16 ;; 17 *) 18 /sbin/cmdsched 19 ;; 20 esac 21} 22 23start () { 24 prepare_crontab 25 /usr/sbin/dsyslog restart 26 27 mkdir -p $CRON_SPOOL 28 [ -d $CRONTABS ] && rm -fr $CRONTABS 29 mkdir -p $CRONTABS 30 [ -L ${CRON_SPOOL}/crontabs ] || ln -s $CRONTABS ${CRON_SPOOL}/crontabs 31 32 # Generate `Block Sites` && `Block Services` && `E-mail Notification` 33 # for scheduling. 34 # This `firewall_function.sh` script will call `/sbin/cmdsched`, then 35 # re-start firewall setting. 36 /www/cgi-bin/firewall_function.sh blk_sched restart 37 38 # Start NTP when `time_zone` is reset. 39 # check if booting or not.if not booting, run ntpclient 40 if [ ! -f /tmp/boot_status ]; then 41 killall ntpclient 42 sleep 1 43 if [ "$($CONFIG get endis_ntp)" = "1" ]; then 44 /usr/sbin/ntpclient 45 fi 46 # sleep 1 second wait for ntpclient to get time 47 sleep 1 48 fi 49 50 crond -c $CRONTABS -T "$($CONFIG get time_zone)" 51} 52 53stop() { 54 killall -9 crond 55} 56 57restart() { 58 stop 59 start 60} 61 62boot () { 63 mkdir -p $CRONTABS 64 mkdir -p $CRON_SPOOL 65 ln -s $CRONTABS ${CRON_SPOOL}/crontabs 66 start 67} 68 69