【实战】sphinx启动关闭管理脚本

2015-02-03 11:59:39 · 作者: · 浏览: 30
#!/bin/sh
#/usr/local/sphinx/bin/
#
#ocpyang@126.com

sphinx_pidfile=/usr/local/sphinx/var/log/searchd.pid
if [ -e "${sphinx_pidfile}"   ] ; then
	sphinx_active=1  #runing
	#echo ${sphinx_active}
else
	sphinx_active=0   #close 
	#echo ${sphinx_active}
fi



stop(){
if [  "${sphinx_active}" -eq 0 ];then
	echo -e '\e[31m SPHINX  Has been turned off  \e[m' #红色
	exit 1
else
	/usr/local/sphinx/bin/searchd   --config  /usr/local/sphinx/etc/sphinx.conf --stop   > /dev/null 2>&1 
        resu=$?
        if [  "${resu}" -eq 0  ];  then
             echo -e '\e[32m******************************************************************** \e[m' #绿色
		echo -e '\e[32m( ^_^ ) Sphinx stop SUCESS( ^_^ ) \e[m' #绿色
	     echo -e '\e[32m******************************************************************** \e[m' #绿色
        else
             echo -e '\e[31m******************************************************************** \e[m' #红色
		echo -e '\e[31m !o(???)o!Sphinx stop FAIL! ~~~~(>_<)~~~~ \e[m' #红色
	     echo -e '\e[31m******************************************************************** \e[m' #红色
        fi
	return ${resu}
fi
}



start(){
if [  "${sphinx_active}" -eq 1 ];then
	echo -e '\e[31m SPHINX  Is already running  \e[m' #红色
	exit 1
else
	/usr/local/sphinx/bin/searchd  --config  /usr/local/sphinx/etc/sphinx.conf > /dev/null 2>&1 
       resu=$?
        if [  "${resu}" -eq 0  ];  then
             echo -e '\e[32m******************************************************************** \e[m' #绿色
		echo -e '\e[32m ( ^_^ )Sphinx start SUCESS( ^_^ ) \e[m' #绿色
	     echo -e '\e[32m******************************************************************** \e[m' #绿色
        else
              echo -e '\e[31m******************************************************************** \e[m' #红色
	        echo -e '\e[31m !o(???)o!Sphinx start FAIL! ~~~~(>_<)~~~~ \e[m' #红色
	     echo -e '\e[31m******************************************************************** \e[m' #红色

        fi
	return ${resu}
fi
}



indexer_all(){
if [  "${sphinx_active}" -eq 0 ];then
	echo -e '\e[31m SPHINX  Has been turned off  \e[m' #红色
	exit 1
else

	/usr/local/sphinx/bin/indexer --config  /usr/local/sphinx/etc/sphinx.conf    --all > /dev/null 2>&1
	resu=$?
        if [  "${resu}" -eq 0  ];  then
             echo -e '\e[32m******************************************************************** \e[m' #绿色
		echo -e '\e[32m ( ^_^ )Sphinx indexer_all SUCESS( ^_^ ) \e[m' #绿色
	     echo -e '\e[32m******************************************************************** \e[m' #绿色
        else
              echo -e '\e[31m******************************************************************** \e[m' #红色
	        echo -e '\e[31m  !o(???)o!Sphinx indexer_all FAIL! ~~~~(>
_<)~~~~ \e[m' #红色 echo -e '\e[31m******************************************************************** \e[m' #红色 fi return ${resu} fi } indexer_online(){ if [ "${sphinx_active}" -eq 0 ];then echo -e '\e[31m SPHINX Has been turned off \e[m' #红色 exit 1 else /usr/local/sphinx/bin/indexer --config /usr/local/sphinx/etc/sphinx.conf --rotate --all > /dev/null 2>&1 resu=$? if [ "${resu}" -eq 0 ]; then echo -e '\e[32m******************************************************************** \e[m' #绿色 echo -e '\e[32m ( ^_^ )Sphinx indexer_online SUCESS( ^_^ ) \e[m' #绿色 echo -e '\e[32m******************************************************************** \e[m' #绿色 else echo -e '\e[31m******************************************************************** \e[m' #红色 echo -e '\e[31m !o(???)o!Sphinx indexer_online FAIL! ~~~~(>_<)~~~~ \e[m' #红色 echo -e '\e[31m******************************************************************** \e[m' #红色 fi return ${resu} fi } status(){ if [ "${sphinx_active}" -eq 0 ];then echo -e '\e[31m SPHINX Has been turned off \e[m' #红色 exit 1 else /usr/local/sphinx/bin/searchd --config /usr/local/sphinx/etc/sphinx.conf --status resu=$? if [ "${resu}" -eq 0 ]; then #echo "sphinx status ok" echo -e '\e[32m******************************************************************** \e[m' #绿色 echo -e '\e[32m ( ^_^ )Sphinx status ok( ^_^ ) \e[m' #绿色 echo -e '\e[32m******************************************************************** \e[m' #绿色 else #echo "sphinx status unknow" echo -e '\e[31m********************************************************************* \e[m' #红色 echo -e '\e[31m !o(???)o!Sphinx status unknown ~~~~(>_<)~~~~ \e[m' #红色 echo -e '\e[31m********************************************************************* \e[m' #红色 fi return ${resu} fi } case $1 in restart) stop start ;; stop) stop ;; start) start ;; indexer_all) indexer_all ;; indexer_online) indexer_online ;; status) status ;; esac exit 0