diff options
Diffstat (limited to 'package/utils/busybox/files/cron')
-rwxr-xr-x | package/utils/busybox/files/cron | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/package/utils/busybox/files/cron b/package/utils/busybox/files/cron new file mode 100755 index 0000000..19ecc43 --- /dev/null +++ b/package/utils/busybox/files/cron @@ -0,0 +1,38 @@ +#!/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} + procd_close_instance +} + +service_triggers() +{ + procd_add_validation validate_cron_section +} |