X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=cyrus-imapd.init;h=961025ab01cf9f0f44b97b0809b3851c58fd911e;hb=e9b22b9e5df444ee3828281c10c64bea539282dc;hp=a2c213ec0fa0cd79c5382bd9ca2fc220a24e0301;hpb=cf00c31effce6b53402336a8daa688e2371d9bfc;p=packages%2Fcyrus-imapd.git diff --git a/cyrus-imapd.init b/cyrus-imapd.init index a2c213e..961025a 100644 --- a/cyrus-imapd.init +++ b/cyrus-imapd.init @@ -1,10 +1,12 @@ #!/bin/sh # -# cyrus-imapd cyrus-imapd IMAP & POP3 Server +# cyrus-imapd cyrus-imapd IMAP Daemon # -# chkconfig: 345 85 15 +# chkconfig: 345 85 15 # # description: cyrus-imapd +# +# $Id$ # Source function library . /etc/rc.d/init.d/functions @@ -15,58 +17,80 @@ # 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-imapd + 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) - # Check if the service is already running? - if [ ! -f /var/lock/subsys/cyrus-imapd ]; then - msg_starting cyrus-imapd - /usr/lib/cyrus/cyrus-master & - if ps -C cyrus-master >/dev/null 2>&1; then - RETVAL=$? - [ $RETVAL -eq 0 ] && touch /var/lock/subsys/cyrus-imapd - ok - else - fail - fi - else - # show "%s service is already running." - msg_already_running cyrus-imapd - fi + start ;; stop) - # Stop daemons. - if [ -f /var/lock/subsys/cyrus-imapd ]; then - msg_stopping cyrus-imapd - killproc cyrus-master - rm -f /var/lock/subsys/cyrus-imapd - else - msg_not_running cyrus-imapd - fi + stop ;; - restart|force-reload) - $0 stop - $0 start - RETVAL=$? + restart) + stop + start + ;; + try-restart) + condrestart 0 + ;; + force-reload) + condrestart 7 ;; status) - status cyrus-master + status cyrmaster RETVAL=$? ;; *) - msg_usage "$0 {start|stop|restart|force-reload|status}" + msg_usage "$0 {start|stop|restart|try-restart|force-reload|status}" exit 3 esac exit $RETVAL - -# This must be last line ! -# vi:syntax=sh:tw=78:ts=8:sw=4