自己简单写的一个php服务的启动脚本和大家分享
思路(实现的原理):
1:function模块+case语句多分支判断
2:通过添加# chkconfig: 2345 43 89注释实现开机自启动(前提是把脚本放入/etc/init.d/目录下 然后chmod给可执行权限,然后chkconfig --add phpd(脚本名称))
3:每次命令执行是否成功用$?是否为0来给予反馈
#!/bin/bash
# php-fpm Start/Stop php-fpm
#
# chkconfig:
#author andy
#date
#function php-fpm manager
#email fei1989118@.com
#version 1.0
#check service status
#usage
. /etc/init.d/functions
#define var
check=`netstat -lnutp|grep php-fpm|wc -l`
function usage(){ echo "usage:$0 {start|stop|restart|status}"
exit
}
function start(){ if [ "$1" = "start" -a $check -ne ];then
action "php is already started!" /bin/false
exit
elif [ "$1" = "start" -a $check -eq ];then
sleep
/usr/local/sbin/php-fpm
if [ $? = ];then
action "php start successfully!" /bin/true
else
action "php start failed!" /bin/false
exit
fi
fi
}
function stop(){
if [ "$1" = "stop" -a $check -eq ];then
action "php is not running!" /bin/false
exit
elif [ "$1" = "stop" -a $check -ne ];then
killall php-fpm
sleep
if [ $? = ];then
action "php stoped successfully!" /bin/true
else
action "php stoped failed!" /bin/false
exit
fi
fi
}
function restart(){
if [ "$1" = "restart" -a $check -eq ];then
action "php is not running!" /bin/false
sleep
/usr/local/sbin/php-fpm
if [ $? = ];then
action "php start successfully!" /bin/true
else
action "php start failed!" /bin/false
exit
fi elif [ "$1" = "restart" -a $check -ne ];then
killall php-fpm
if [ $? = ];then
action "php stoped successfully!" /bin/true
else
action "php stoped failed!" /bin/false
fi
sleep
/usr/local/sbin/php-fpm
if [ $? = ];then
action "php start successfully!" /bin/true
else
action "php start failed!" /bin/false
exit
fi
fi }
function status(){
if [ "$1" = "status" -a $check -eq ];then
echo "php is not running!"
exit
elif [ "$1" = "status" -a $check -ne ];then
echo "php is running"
exit
fi
} case "$1" in
start) start $
;;
stop) stop $
;;
restart) restart $
;;
status) status $
;;
*) usage $
esac
如果有不对的地方请多多指正