#!/bin/sh # # cyrus-imapd cyrus-imapd IMAP Daemon # # chkconfig: 345 85 15 # # description: cyrus-imapd # # $Id$ # Source function library . /etc/rc.d/init.d/functions # Get network config . /etc/sysconfig/network # Check that networking is up. if is_yes "${NETWORKING}"; then if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then msg_network_down "Cyrus IMAP Daemon" exit 1 fi else exit 0 fi start() { # Check if the service is already running? if [ -f /var/lock/subsys/cyrus-imapd ]; then msg_already_running "Cyrus IMAPD" return fi msg_starting "Cyrus IMAP Daemon" /usr/sbin/cyrmaster & if ps -C cyrmaster >/dev/null 2>&1; then RETVAL=$? [ $RETVAL -eq 0 ] && touch /var/lock/subsys/cyrus-imapd ok else fail fi } stop() { # Stop daemons. if [ ! -f /var/lock/subsys/cyrus-imapd ]; then msg_not_running "Cyrus IMAP Daemon" return fi msg_stopping "Cyrus IMAP Daemon" killproc cyrmaster rm -f /var/lock/subsys/cyrus-imapd } condrestart() { if [ ! -f /var/lock/subsys/cyrus-imapd ]; then msg_not_running "Cyrus IMAP Daemon" RETVAL=$1 return fi stop start } RETVAL=0 # See how we were called. case "$1" in start) start ;; stop) stop ;; restart) stop start ;; try-restart) condrestart 0 ;; force-reload) condrestart 7 ;; status) status cyrmaster RETVAL=$? ;; *) msg_usage "$0 {start|stop|restart|try-restart|force-reload|status}" exit 3 esac exit $RETVAL