分享一个php的启动关闭脚本

自己简单写的一个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 [email protected]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

如果有不对的地方请多多指正

时间: 2024-11-03 21:52:14

分享一个php的启动关闭脚本的相关文章

Ops:jar包启动关闭脚本

目录 简介 环境介绍 start.sh启动脚本 stop.sh关闭脚本 参考文档 简介 公司开发架构为java语言的rpc dubbo架构,将功能分解为各个模块,模块较多,发布到环境上的应用为编译后的jar包和配置文件,以及启动关闭jar包的shell脚本.之前经常会出现进程启动不了,或程序启动了多个的情况,此次,做了优化,结构比较严谨,代码量少,就不放到github上了,在这里做个分享,希望对你有用. 环境介绍 此脚步使用场景需要标准化环境的要求,所有jar皆可使用该脚本使用,通用性良好. j

Svn服务启动关闭脚本

Svn启动服务脚本 因每次都需要手动开启关闭svn服务,颇为麻烦,直接使用数字键1-N来配置 使用平台: rhel centos6 7 使用: 直接复制脚本,然后chmod +x xx.sh 就能使用了 #!/bin/bash # # __auther__: xiong # __ time __: 2018年02月26日 09:28:09 # __ 作用 __: 用于启动svn服务的集中脚本文件 # __需学习__: shell数组,case # __ 使用 __: 脚本名称需要执行权限 直接使

VMware相关服务启动关闭脚本

VMware相关服务 VMware Authonrization Service:用于启动和访问虚拟机的授权和身份验证服务 VMware DHCP Service: IP自动分配协议--它不启动 虚拟机不能上网 VMware NAT Service: 虚拟地址转换协议--它不启动 虚拟机不能上网 VMware USB Arbitration Service:U盘接口服务--它不启动 虚拟机无法识别usb VMware Workstation Server:用于虚拟机的注册和管理远程访问服务 启动

NGINX快速启动关闭脚本

@echo off c: cd C:\nginx-1.8.0 :menu echo -------Nginx启动助手--------- echo 1.重启服务器 echo 2.启动服务器 echo 3.关闭服务器 @echo off set /p choose="请选择:" if %choose%==1 (goto rs) if %choose%==2 (goto start) if %choose%==3 (goto stop) :: 不合法输入符号 if %choose%!=1 |

redis服务启动关闭脚本

代码如下: # chkconfig: 2345 90 10 # description: service of redis for start and stop add by tomener PATH=/usr/local/bin:/sbin:/usr/bin:/bin REDISPORT=6379 EXEC=/usr/local/redis/bin/redis-server REDIS_CLI=/usr/local/redis/bin/redis-cli PIDFILE=/var/run/re

ubuntu下memcached启动停止脚本

工作需求,需要自己写一个memcached的启动停止脚本,呕心沥血,终于完成,虽然很搓很搓,还是记录一下吧,废话不多说直接上脚本 #! /bin/sh # ckconfig: - 55 45 # description: The memcached daemon is a network memory cache service. # processname: memcached # config: /etc/memcached.conf # Source function library -

分享一个MySQL分库分表备份脚本(原)

分享一个MySQL分库备份脚本(原) 开发思路: 1.路径:规定备份到什么位置,把路径(先判断是否存在,不存在创建一个目录)先定义好,我的路径:/mysql/backup,每个备份用压缩提升效率,带上时间方便整理 2.取数据库:抓取数据库名称,我用的awk和grep配合取数据库的名称(如果想按照表备份可以再细化一下)注意要用mysql -e选项 这样才能做成脚本 3.系统环境变量:因为用到了函数,所以非系统内置的命令 最好在脚本里面用 . /etc/profile  把系统当前的环境变量传过来

分享一个批量导出当前实例下的所有linkedserver脚本

原文:分享一个批量导出当前实例下的所有linkedserver脚本 分享一个批量导出当前实例下的所有linkedserver脚本 很多时候,我们都需要导出实例下面的登录用户,job,linkedserver等等 导出job比较复杂,下午写了一个脚本把所有的linkedserver导出来,但是密码不会显示出来 下面脚本在SQL2008 R2下面测试通过 -- ============================================= -- Author: <桦仔> -- Blog

分享一个监控网络,磁盘使用,平均负载和RAM使用的shell脚本

分享一个日常使用的监控网络,磁盘使用,平均负载和RAM使用的shell脚本 脚本在附件中. 使用截图如下: