mirror of
				https://git.proxmox.com/git/mirror_corosync
				synced 2025-10-31 16:40:41 +00:00 
			
		
		
		
	 904a10ed38
			
		
	
	
		904a10ed38
		
	
	
	
	
		
			
			git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2117 fd59a12c-fef9-0310-b244-a6a79926bd2f
		
			
				
	
	
		
			146 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			146 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/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
 |