FCRON_INSTANCE="${SVCNAME##*.}"
-if [[ -n "${FCRON_INSTANCE}" && "${SVCNAME}" != "fcron" ]]; then
+if [ -n "${FCRON_INSTANCE}" -a "${SVCNAME}" != "fcron" ]; then
FCRON_CONFIGFILE="/etc/fcron/fcron.${FCRON_INSTANCE}.conf"
else
FCRON_CONFIGFILE="/etc/fcron/fcron.conf"
value="$(service_get_value ${key})"
fi
- if [[ -z "${value}" && -r "${FCRON_CONFIGFILE}" ]]; then
+ if [ -z "${value}" -a -r "${FCRON_CONFIGFILE}" ]; then
value="$(sed -n -e 's:^'"${key}"'[ \t]*=[ \t]*::p' "${FCRON_CONFIGFILE}")"
fi
- if [[ -z "${value}" ]]; then
+ if [ -z "${value}" ]; then
# Value not explicitly set in the configfile or configfile does not exist
# or is not readable
echo "${value_default}"
need hostname
# provide the cron service if we are the main instance
- [[ "${SVCNAME}" == "fcron" ]] && provide cron
+ [ "${SVCNAME}" = "fcron" ] && provide cron
}
command="/usr/libexec/fcron"
start_stop_daemon_args=${FCRON_SSDARGS:-"--wait 1000"}
pidfile="$(getconfig pidfile /run/fcron.pid)"
fcrontabs="$(getconfig fcrontabs /var/spool/fcron)"
+fifofile="$(getconfig fifofile /run/fcron.fifo)"
required_files="${FCRON_CONFIGFILE}"
extra_started_commands="reload"
}
start_pre() {
+ if [ "${SVCNAME}" != "fcron" ]; then
+ local _has_invalid_instance_cfg=0
+
+ if [ "${pidfile}" = "/run/fcron.pid" ]; then
+ eerror "You cannot use the same pidfile like the default instance!"
+ eerror "Please adjust your 'pidfile' setting in '${FCRON_CONFIGFILE}'."
+ _has_invalid_instance_cfg=1
+ fi
+
+ if [ "${fcrontabs}" = "/var/spool/fcron" ]; then
+ eerror "You cannot use the same fcrontabs location like the default instance!"
+ eerror "Please adjust your 'fcrontabs' setting in '${FCRON_CONFIGFILE}'."
+ _has_invalid_instance_cfg=1
+ fi
+
+ if [ "${fifofile}" = "/run/fcron.fifo" ]; then
+ eerror "You cannot use the same fifo file like the default instance!"
+ eerror "Please adjust your 'fifofile' setting in '${FCRON_CONFIGFILE}'."
+ _has_invalid_instance_cfg=1
+ fi
+
+ [ ${_has_invalid_instance_cfg} -ne 0 ] && return 1
+ fi
+
checkpath --file "${FCRON_CONFIGFILE}" --owner root:fcron --mode 0640
- if [[ ! -d "${fcrontabs}" ]]; then
+ if [ ! -d "${fcrontabs}" ]; then
ebegin "Creating missing spooldir '${fcrontabs}'"
${command} --newspooldir "${fcrontabs}"
eend $?
start_post() {
service_set_value fcrontabs "${fcrontabs}"
+ service_set_value fifofile "${fifofile}"
}