#!/bin/sh # # cyrus-sync cyrus-sync Cyrus replication service # # chkconfig: 345 85 15 # # description: cyrus-imap replication service # # $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 Replication" exit 1 fi else exit 0 fi start() { # Check if the service is already running? if [ -f /var/lock/subsys/cyrus-sync ]; then msg_already_running "Cyrus Replication" return fi msg_starting "Cyrus Replication" start-stop-daemon --start --quiet --exec /usr/lib/cyrus/sync_client -- -r if ps -C sync_client >/dev/null 2>&1; then RETVAL=$? [ $RETVAL -eq 0 ] && touch /var/lock/subsys/cyrus-sync ok else fail fi } stop() { if [ ! -f /var/lock/subsys/cyrus-sync ]; then msg_not_running "Cyrus Replication" return fi # Stop daemons. msg_stopping "Cyrus Replication" start-stop-daemon --stop --quiet --name sync_client RETVAL=$? if [ $RETVAL -eq 0 ]; then rm -f /var/lock/subsys/cyrus-sync ok else fail fi } condrestart() { if [ ! -f /var/lock/subsys/cyrus-sync ]; then msg_not_running "Cyrus Replication" 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 cyrus-sync sync_client RETVAL=$? ;; *) msg_usage "$0 {start|stop|restart|try-restart|force-reload|status}" exit 3 esac exit $RETVAL