mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-25 10:03:03 +01:00
145 lines
2.2 KiB
Bash
145 lines
2.2 KiB
Bash
#!/bin/sh
|
|
#
|
|
# corosync Start the Corosync Cluster Engine
|
|
#
|
|
# Author: Andrew Beekhof <abeekhof@suse.de>
|
|
# License: Revised BSD
|
|
#
|
|
# chkconfig: - 20 20
|
|
# processname: corosync
|
|
# description: Corosync Cluster Engine
|
|
#
|
|
### BEGIN INIT INFO
|
|
# Description: corosync....
|
|
#
|
|
# Short-Description: Corosync Cluster Engine.
|
|
# Provides: corosync
|
|
# Required-Start: $network
|
|
# Should-Start: $syslog
|
|
# Required-Stop: $network
|
|
# Default-Start: 3 5
|
|
# Default-Stop: 0 6
|
|
### END INIT INFO
|
|
|
|
do_force=0
|
|
prog="corosync"
|
|
lockfile="/var/lock/subsys/$prog"
|
|
|
|
internal_status() {
|
|
killall -0 corosync > /dev/null 2>&1
|
|
return $?
|
|
}
|
|
|
|
status() {
|
|
if
|
|
! internal_status
|
|
then
|
|
echo "Stopped"
|
|
return 7
|
|
fi
|
|
|
|
echo "Running"
|
|
return 0
|
|
}
|
|
|
|
start() {
|
|
echo -n $"Starting Corosync Cluster Engine ($prog): "
|
|
if
|
|
! internal_status
|
|
then
|
|
echo -n "starting... "
|
|
$prog 2>&1 > /dev/null 2>&1
|
|
echo -n "rc=$?: "
|
|
fi
|
|
|
|
sleep 2 # give it time to fail... $? isn't definitive
|
|
|
|
if
|
|
internal_status
|
|
then
|
|
echo "OK"
|
|
return 0
|
|
fi
|
|
|
|
echo "Failed"
|
|
return 1
|
|
}
|
|
|
|
do_force=0
|
|
do_forever=1
|
|
|
|
stop() {
|
|
echo -n $"Stopping Corosync Cluster Engine ($prog): "
|
|
|
|
killall -QUIT corosync
|
|
|
|
if [ $do_forever = 0 ]; then
|
|
for i in 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20; do
|
|
if
|
|
internal_status
|
|
then
|
|
sleep 2
|
|
echo -n "."
|
|
else
|
|
rm -f "$lockfile"
|
|
echo "OK"
|
|
return 0
|
|
fi
|
|
done
|
|
|
|
if [ $do_force = 1 ]; then
|
|
echo -n "Escalating... "
|
|
killall -KILL corosync
|
|
sleep 5
|
|
|
|
if
|
|
! internal_status
|
|
then
|
|
rm -f "$lockfile"
|
|
echo "OK"
|
|
return 0
|
|
fi
|
|
fi
|
|
|
|
echo "Failed"
|
|
return 1
|
|
fi
|
|
|
|
while
|
|
internal_status
|
|
do
|
|
sleep 1
|
|
echo -n "."
|
|
done
|
|
|
|
rm -f "$lockfile"
|
|
echo "OK"
|
|
return 0
|
|
}
|
|
|
|
restart() {
|
|
stop
|
|
start
|
|
}
|
|
|
|
case "$1" in
|
|
start|stop|restart)
|
|
$1
|
|
;;
|
|
force-stop)
|
|
do_force=1
|
|
stop
|
|
;;
|
|
reload|force-reload)
|
|
restart
|
|
;;
|
|
condrestart|try-restart)
|
|
[ ! -f "$lockfile" ] || restart
|
|
;;
|
|
status)
|
|
status $prog
|
|
;;
|
|
*)
|
|
echo $"Usage: $0 {start|stop|restart|try-restart|condrestart|reload|force-reload|force-stop|status}"
|
|
exit 2
|
|
esac
|