# security and more powerful configuration options.
#
# processname: crond
-# config: /etc/crontab
+# config: /etc/cron.d
# pidfile: /var/run/crond.pid
# Source function library.
. /etc/rc.d/init.d/functions
+CROND_ARGS=""
+
# Get service config
[ -f /etc/sysconfig/cron ] && . /etc/sysconfig/cron
start() {
# Check if the service is already running?
- if [ ! -f /var/lock/subsys/crond ]; then
- msg_starting "cronie"
- daemon /usr/sbin/crond
- RETVAL=$?
- [ $RETVAL -eq 0 ] && touch /var/lock/subsys/crond
- else
- msg_already_running "cronie"
+ if [ -f /var/lock/subsys/crond ]; then
+ msg_already_running "cronie crond"
+ return
+ fi
+
+ if is_yes "$CROND_SYSLOG_RESULT"; then
+ CROND_ARGS="$CROND_ARGS -s"
+ fi
+
+ if [ -n "$CROND_MAIL_PROG" ]; then
+ # XXX: should we handle spaces in $CROND_MAIL_PROG?
+ CROND_ARGS="$CROND_ARGS -m $CROND_MAIL_PROG"
fi
+
+ msg_starting "cronie crond"
+ daemon /usr/sbin/crond $CROND_ARGS
+ RETVAL=$?
+ [ $RETVAL -eq 0 ] && touch /var/lock/subsys/crond
}
stop() {
- if [ -f /var/lock/subsys/crond ]; then
- msg_stopping "cronie"
- killproc crond
- rm -f /var/lock/subsys/crond
- else
- msg_not_running "cronie"
+ if [ ! -f /var/lock/subsys/crond ]; then
+ msg_not_running "cronie crond"
+ return
+ fi
+
+ msg_stopping "cronie crond"
+ killproc crond
+ rm -f /var/lock/subsys/crond
+}
+
+reload() {
+ if [ ! -f /var/lock/subsys/crond ]; then
+ msg_not_running "cronie crond"
+ RETVAL=7
+ return
+ fi
+
+ msg_reloading "cronie crond"
+ killproc crond -HUP
+ RETVAL=$?
+}
+
+condrestart() {
+ if [ ! -f /var/lock/subsys/crond ]; then
+ msg_not_running "cronie crond"
+ RETVAL=$1
+ return
fi
+
+ stop
+ start
}
RETVAL=0
stop)
stop
;;
- status)
- status crond
- exit $?
- ;;
restart)
stop
start
;;
- reload|force-reload)
- if [ -f /var/lock/subsys/crond ]; then
- msg_reloading "cronie"
- killproc crond -HUP
- RETVAL=$?
- else
- msg_not_running "cronie"
- exit 7
- fi
+ try-restart)
+ condrestart 0
+ ;;
+ reload|force-reload|flush-logs)
+ reload
+ ;;
+ status)
+ status --pidfile /var/run/crond.pid crond
+ exit $?
;;
*)
- msg_usage "$0 {start|stop|restart|reload|force-reload|status}"
+ msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|flush-logs|status}"
exit 3
esac