mirror of
https://github.com/EnterpriseDB/repmgr.git
synced 2026-03-23 15:16:29 +00:00
114 lines
2.4 KiB
Bash
Executable File
114 lines
2.4 KiB
Bash
Executable File
#!/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
|
|
echo "$prog is stopped"
|
|
fi
|
|
exit 0
|
|
}
|
|
|
|
# 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
|