| #!/bin/sh /etc/rc.common | 
 | # Copyright (C) 2006-2011 OpenWrt.org | 
 |  | 
 | START=50 | 
 |  | 
 | USE_PROCD=1 | 
 | PROG=/usr/sbin/crond | 
 |  | 
 | validate_cron_section() { | 
 | 	uci_validate_section system system "${1}" \ | 
 | 		'cronloglevel:uinteger' | 
 | } | 
 |  | 
 | start_service() { | 
 | 	[ -z "$(ls /etc/crontabs/)" ] && return 1 | 
 |  | 
 | 	loglevel="$(uci_get "system.@system[0].cronloglevel")" | 
 |  | 
 | 	[ -z "${loglevel}" ] || { | 
 | 		/sbin/validate_data uinteger "${loglevel}" 2>/dev/null | 
 | 		[ "$?" -eq 0 ] || { | 
 | 			echo "validation failed" | 
 | 			return 1 | 
 | 		} | 
 | 	} | 
 |  | 
 | 	mkdir -p /var/spool/cron | 
 | 	ln -s /etc/crontabs /var/spool/cron/ 2>/dev/null | 
 |  | 
 | 	procd_open_instance | 
 | 	procd_set_param command "$PROG" -f -c /etc/crontabs -l "${loglevel:-5}" | 
 | 	for crontab in /etc/crontabs/*; do | 
 | 		 procd_set_param file "$crontab" | 
 | 	done | 
 | 	procd_set_param respawn | 
 | 	procd_close_instance | 
 | } | 
 |  | 
 | service_triggers() { | 
 | 	procd_add_validation validate_cron_section | 
 | } |