#!/bin/bash # # repmgrd Start up the repmgrd daemon # repmrgd (replication manager daemon) # # chkconfig: - 75 16 # description: repmgrd is the repliation manager daemon \ # The repmgrd replication management and monitoring daemon for PostgreSQL. ### BEGIN INIT INFO # Provides: repmgrd # Required-Start: $local_fs $remote_fs $network $syslog postgresql # Required-Stop: $local_fs $remote_fs $network $syslog postgresql # Should-Start: $syslog postgresql-9.3 # Should-Stop: $syslog postgresql-9.3 # Short-Description: start and stop repmrgd # Description: Enable repmgrd replication management and monitoring daemon for PostgreSQL # this is used to monitor a postgresql cluster. ### END INIT INFO # Source function library. . /etc/init.d/functions # Source networking configuration. . /etc/sysconfig/network prog=repmgrd REPMGRD_ENABLED=yes REPMGRD_OPTS= REPMGRD_USER=postgres DAEMONIZE="-d" # pull in sysconfig settings [ -f /etc/sysconfig/repmgrd ] && . /etc/sysconfig/repmgrd LOCKFILE=/var/lock/subsys/$prog RETVAL=0 case "$REPMGRD_ENABLED" in [Yy]*) #nothing to do here ;; *) exit 2 ;; esac if [ -z "$REPMGRD_OPTS" ] then echo "Not starting $prog, REPMGRD_OPTS not set in /etc/sysconfig/$prog" exit 2 fi start() { [ "$EUID" != "0" ] && exit 4 [ "$NETWORKING" = "no" ] && exit 1 # Start daemons. echo -n $"Starting $prog: " daemon --user $REPMGRD_USER $prog $DAEMONIZE $REPMGRD_OPTS RETVAL=$? echo [ $RETVAL -eq 0 ] && touch $LOCKFILE return $RETVAL } stop() { [ "$EUID" != "0" ] && exit 4 echo -n $"Shutting down $prog: " killproc $prog RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f $LOCKFILE return $RETVAL } status() { if [ -f "$LOCKFILE" ]; then echo "$prog is running" else RETVAL=3 echo "$prog is stopped" fi return $RETVAL } # See how we were called. case "$1" in start) start ;; stop) stop ;; status) status $prog ;; restart|force-reload) stop start ;; try-restart|condrestart) if status $prog > /dev/null; then stop start fi ;; reload) exit 3 ;; *) echo $"Usage: $0 {start|stop|status|restart|try-restart|force-reload}" exit 2 esac