diff options
Diffstat (limited to 'sys-process/fcron/files/fcron.init.3')
-rw-r--r-- | sys-process/fcron/files/fcron.init.3 | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/sys-process/fcron/files/fcron.init.3 b/sys-process/fcron/files/fcron.init.3 new file mode 100644 index 000000000000..209dd49d501b --- /dev/null +++ b/sys-process/fcron/files/fcron.init.3 @@ -0,0 +1,58 @@ +#!/sbin/runscript +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +FCRON_INSTANCE=${SVCNAME##*.} + +configfile() { + if [ -n "${FCRON_INSTANCE}" -a "${SVCNAME}" != "fcron" ]; then + echo /etc/fcron/fcron.${FCRON_INSTANCE}.conf + else + echo /etc/fcron/fcron.conf + fi +} + +getconfig() { + # if there is no configuration file return the default value + if ! [ -f $(configfile) ]; then + echo $2 + return 0 + fi + + sed -n -e 's:^$1[ \t]*=[ \t]*::p' $(configfile) +} + +depend() { + config $(configfile) + + use logger + need clock hostname + # provide the cron service if we are the main instance + [ "${SVCNAME}" = "fcron" ] && provide cron +} + +command="/usr/libexec/fcron" +command_args="-c $(configfile)" +pidfile=$(getconfig pidfile /var/run/fcron.pid) +fcrontabs=$(getconfig fcrontabs /var/spool/fcron) + +extra_started_commands="reload" + +start_pre() { + if [ ! -e $(configfile) ]; then + eerror "You will need to create $(configfile) first" + eerror "There is a sample in /etc/fcron" + return 1 + fi + + if [ ! -d ${fcrontabs} ]; then + ebegin "Creating missing spooldir ${fcrontabs}" + ${command} --newspooldir ${fcrontabs} + eend $? + fi +} + +reload() { + kill -HUP `cat ${pidfile}` +} |