| #!/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 |
| } |