1. 程式人生 > >mongdb 啟動服務指令碼(shell)

mongdb 啟動服務指令碼(shell)

#!/bin/bash
MONGODB_PATH=/alidata1/mongodb
CONFIG=/alidata1/mongodb/mongodb.conf
PID_FILE=/alidata1/mongodb/mongodb.pid
LOG_FILE=/alidata1/mongodb/mongodb.log
#--------------- start ------------------
start() {
	if [ -e $MONGODB_PATH ] && [ -e $CONFIG ];then
		if [ -f $PID_FILE ];then
			echo -e "\033[32mService is running Pid is `cat $PID_FILE`  \033[0m"
		else
			$MONGODB_PATH/bin/mongod --config=$CONFIG  > /dev/null
			ps -aux | grep `cat $PID_FILE` | grep -v grep > /dev/null
			if [ $? -ne 0 ];then
				echo -e "\033[31mService startup failed Please check the $LOG_FILE  \033[0m"
				rm -rf $PID_FILE
			else
				echo -e "\033[32mService started successfully Pid is `cat $PID_FILE`  \033[0m"
			fi
		fi
	else
		echo "ERROR:Please check whether the $MONGODB_PATH directory or $MONGODB_CONFIG exists"
	fi
	
}
#-------------- stop --------------------
stop() {
	if [ -f $PID_FILE ];then
		kill -9 `cat $PID_FILE`
		rm -rf $PID_FILE
		echo -e "\033[32mService stopped\033[0m"
	else
		echo -e "\033[31mPid file not found\033[0m"
	fi
}
#------------- status ------------------
status() {
	if [ -f $PID_FILE ];then
		ps -aux | grep `cat $PID_FILE` | grep -v grep > /dev/null
		if [ $? -ne 0 ];then
			echo -e "\033[31mservice is not running\033[0m"
		else
			echo -e "\033[32mservice is running Pid is `cat $PID_FILE`\033[0m"
		fi
	else
		echo -e "\033[31mservice is not running\033[0m"
	fi
}
#--------------------------------------
case $1 in
	start)
		start
		;;
	stop)
		stop
		;;
	status)
		status
		;;
	restart)
		stop
		sleep 1
		start
		;;
	*)
		echo "Discrepancy error:Please enter {start|stop|restart|status}"
esac