]> git.pld-linux.org Git - packages/pgpool-II.git/blob - pgpool.init
Version: 3.6.0, various improvements
[packages/pgpool-II.git] / pgpool.init
1 #!/bin/sh
2 #
3 # pgpool        This is the init script for starting up pgpool
4 #
5 # chkconfig:    345 85 15
6 # description:  Pgpool - a connection pooling/replication server for PostgreSQL
7 # processname:  pgpool
8 # pidfile:      /var/run/pgpool/pgpool.pid
9 # config:       /etc/pgpool.conf
10
11 # Source function library
12 . /etc/rc.d/init.d/functions
13
14 # Get network config
15 . /etc/sysconfig/network
16
17 PGPOOL_BIN=/usr/bin/pgpool
18
19 # Get service config
20 [ -f /etc/sysconfig/pgpool ] && . /etc/sysconfig/pgpool
21
22 # Check that networking is up.
23 if is_yes "${NETWORKING}"; then
24         if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
25                 msg_network_down pgpool
26                 exit 1
27         fi
28 else
29         exit 0
30 fi
31
32 if [ ! -f $PGPOOLLOG ]; then
33         touch $PGPOOLLOG
34 fi
35
36
37 start() {
38         # Check if the service is already running?
39         if [ ! -f /var/lock/subsys/pgpool ]; then
40                 msg_starting pgpool
41                 busy
42                 start-stop-daemon -S -x $PGPOOL_BIN -c $PGPOOLUID:$PGPOOLGID -p /var/run/pgpool/pgpool.pid \
43                         -- -f $PGPOOLCONF -a $PGPOOLHBA $OPTS >> $PGPOOLLOG 2>&1
44                 RETVAL=$?
45                 if [ $RETVAL -eq 0 ]; then
46                         touch /var/lock/subsys/pgpool
47                         ok
48                 else
49                         fail
50                 fi
51         else
52                 msg_already_running pgpool
53         fi
54 }
55
56
57 stop() {
58         # Stop daemons.
59         if [ -f /var/lock/subsys/pgpool ]; then
60                 msg_stopping pgpool
61                 busy
62                 output=$($PGPOOL_BIN -f "$PGPOOLCONF" stop 2>&1)
63                 if [ $? -eq 0 ]; then
64                         rm -f /var/run/pgpool/pgpool.pid >/dev/null 2>&1
65                         ok
66                 else
67                         fail
68                         echo $output >&2
69                         killproc -p /var/run/pgpool/pgpool.pid pgpool >/dev/null
70                         rm -f /var/run/pgpool/pgpool.pid >/dev/null 2>&1
71                 fi
72                 rm -f /var/lock/subsys/pgpool
73         else
74                 msg_not_running pgpool
75         fi
76 }
77
78 reload() {
79         if [ -f /var/lock/subsys/pgpool ]; then
80                 msg_reloading pgpool
81                 busy
82                 $PGPOOL_BIN -f $PGPOOLCONF reload >> $PGPOOLLOG 2>&1
83                 if [ $? -eq 0 ]; then
84                         ok
85                 else
86                         fail
87                 fi
88         else
89                 msg_not_running pgpool
90         fi
91 }
92
93 RETVAL=0
94 # See how we were called.
95 case "$1" in
96   start)
97         start
98         ;;
99   stop)
100         stop
101         ;;
102   status)
103         status pgpool
104         RETVAL=$?
105         ;;
106   restart)
107         stop
108         start
109         ;;
110   reload|force-reload)
111         reload
112         ;;
113   *)
114         msg_usage "$0 {start|stop|restart|reload|force-reload|status}"
115         exit 3
116         ;;
117 esac
118
119 exit $RETVAL
This page took 0.175258 seconds and 3 git commands to generate.