自己簡單寫的一個php服務的啟動腳本和大家分享 思路(實現的原理): 1:function模塊+case語句多分支判斷 2:通過添加# chkconfig: 2345 43 89註釋實現開機自啟動(前提是把腳本放入/etc/init.d/目錄下 然後chmod給可執行許可權,然後chkconfig - ...
自己簡單寫的一個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: 2345 43 89 #author andy #date 20161218 #function php-fpm manager #email fei1989118@126.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 0 ];then action "php is already started!" /bin/false exit elif [ "$1" = "start" -a $check -eq 0 ];then sleep 1 /usr/local/sbin/php-fpm if [ $? = 0 ];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 0 ];then action "php is not running!" /bin/false exit elif [ "$1" = "stop" -a $check -ne 0 ];then killall php-fpm sleep 1 if [ $? = 0 ];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 0 ];then action "php is not running!" /bin/false sleep 1 /usr/local/sbin/php-fpm if [ $? = 0 ];then action "php start successfully!" /bin/true else action "php start failed!" /bin/false exit fi elif [ "$1" = "restart" -a $check -ne 0 ];then killall php-fpm if [ $? = 0 ];then action "php stoped successfully!" /bin/true else action "php stoped failed!" /bin/false fi sleep 1 /usr/local/sbin/php-fpm if [ $? = 0 ];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 0 ];then echo "php is not running!" exit elif [ "$1" = "status" -a $check -ne 0 ];then echo "php is running" exit fi } case "$1" in start) start $1 ;; stop) stop $1 ;; restart) restart $1 ;; status) status $1 ;; *) usage $1 esac
如果有不對的地方請多多指正