]> git.pld-linux.org Git - packages/cyrus-imapd.git/blob - cyrus-sync.init
- add try-restart
[packages/cyrus-imapd.git] / cyrus-sync.init
1 #!/bin/sh
2 #
3 # cyrus-sync    cyrus-sync Cyrus replication service
4 #
5 # chkconfig:    345 85 15
6 #
7 # description:  cyrus-imap replication service
8 #
9
10 # Source function library
11 . /etc/rc.d/init.d/functions
12
13 # Get network config
14 . /etc/sysconfig/network
15
16 # Check that networking is up.
17 if is_yes "${NETWORKING}"; then
18         if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
19                 msg_network_down cyrus-sync
20                 exit 1
21         fi
22 else
23         exit 0
24 fi
25
26 start() {
27         # Check if the service is already running?
28         if [ ! -f /var/lock/subsys/cyrus-sync ]; then
29                 msg_starting cyrus-sync
30                 start-stop-daemon --start --quiet --exec /usr/lib/cyrus/sync_client -- -r
31                 if ps -C sync_client >/dev/null 2>&1; then
32                         RETVAL=$?
33                         [ $RETVAL -eq 0 ] && touch /var/lock/subsys/cyrus-sync
34                         ok
35                 else
36                         fail
37                 fi
38         else
39                 msg_already_running cyrus-sync
40         fi
41 }
42
43 stop() {
44         if [ -f /var/lock/subsys/cyrus-sync ]; then
45                 # Stop daemons.
46                 msg_stopping cyrus-sync
47                 start-stop-daemon --stop --quiet --name "sync_client"
48                 RETVAL=$?
49                 if [ $RETVAL -eq 0 ]; then
50                         rm -f /var/lock/subsys/cyrus-sync
51                         ok
52                 else
53                         fail
54                 fi
55         else
56                 msg_not_running cyrus-sync
57         fi
58 }
59
60 condrestart() {
61         if [ -f /var/lock/subsys/cyrus-sync ]; then
62                 stop
63                 start
64         else
65                 msg_not_running cyrus-sync
66                 RETVAL=$1
67         fi
68 }
69
70 RETVAL=0
71 # See how we were called.
72 case "$1" in
73   start)
74         start
75         ;;
76   stop)
77         stop
78         ;;
79   restart)
80         stop
81         start
82         ;;
83   try-restart)
84         condrestart 0
85         ;;
86   force-reload)
87         condrestart 7
88         ;;
89   status)
90         status cyrus-sync
91         RETVAL=$?
92         ;;
93   *)
94         msg_usage "$0 {start|stop|restart|try-restart|force-reload|status}"
95         exit 3
96 esac
97
98 exit $RETVAL
This page took 0.039792 seconds and 3 git commands to generate.