diff options
author | freaj <freaj@riseup.net> | 2015-03-30 11:08:25 +0200 |
---|---|---|
committer | freaj <freaj@riseup.net> | 2015-03-30 11:08:25 +0200 |
commit | cec37e643f4889b4b8652bdfce886b1e5e81f2bd (patch) | |
tree | c992d8325923324f5d318f57b4c05dd5fe494988 /pcr/openrc-misc/fcron.init.3 | |
parent | 7385c6143c1b587bca68deade6e5989d11879767 (diff) |
openrc-misc: add new package to [pcr]
Diffstat (limited to 'pcr/openrc-misc/fcron.init.3')
-rw-r--r-- | pcr/openrc-misc/fcron.init.3 | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/pcr/openrc-misc/fcron.init.3 b/pcr/openrc-misc/fcron.init.3 new file mode 100644 index 000000000..09c05c6d0 --- /dev/null +++ b/pcr/openrc-misc/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 +# $Header: /var/cvsroot/gentoo-x86/sys-process/fcron/files/fcron.init.3,v 1.1 2012/08/29 17:38:40 flameeyes Exp $ + +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}` +} |