openwrt/package/utils/busybox/files/cron
Bruno Randolf 7185c5ec7d busybox: Let procd respawn cron
On some systems I see the issue that crond dies after a few days.
Simply letting procd respawn the process is a simple safety-net.

Signed-off-by: Bruno Randolf <br1@einfach.org>
2020-11-12 18:19:44 +01:00

42 lines
846 B
Bash
Executable File

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