shell之最常用的服务脚本

Posted 不该相遇在秋天

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell之最常用的服务脚本相关的知识,希望对你有一定的参考价值。

 

任务需求:以最简单的方式管理 /usr/local/php7/sbin/php-fpm -c /usr/local/php7/etc/php.ini 这条命令 包括启动停止重启

使用技术:shell脚本 chkconfig服务管理

实现流程:

1.在 /etc/init.d 目录下创建shell脚本

vim /etc/init.d/php-fpm

2.写入脚本(写在博客上就手动添加了很多注释 非常全面  所有中文注释行删除掉才是脚本内容)

#!/bin/bash
#指定运行shell

# chkconfig: - 85 15
#指定运行级别 -代表默认2345 85和15代表启动优先权和关闭优先权 值越小越优先

# processname:php-fpm
#指定服务名称

#定义变量
phpfpm=/usr/local/php7/sbin/php-fpm
phpini=/usr/local/php7/etc/php.ini
fpmpid=$(ps -ef | grep php-fpm | grep -v ‘color‘ | grep -v ‘pts‘ | awk ‘{print $2}‘)
#抓取php-fpm进程 排除带有color的行和带有pts的行 再进行抓取第二列  获取出来的是多列pid号

start(){
  if [ -z "$fpmpid" ]; then
  #如果fpmpid是空  如果判断非空用 -n
  
  $phpfpm -c $phpini
  #那么就运行这条命令: /usr/local/php7/sbin/php-fpm -c /usr/local/php7/etc/php.ini
  
  fi
  echo ‘php-fpm starting...‘
}

stop(){
  if [ -z "$fpmpid" ]; then
  #如果fpmpid是空 则退出脚本
    exit 1
  fi
  kill -9 $fpmpid
  echo ‘php-fpm stop....‘
}

restart(){
  stop
  start
  echo ‘php-fpm restart....‘
}

status(){
  ps -ef | grep -v ‘color‘ | grep -v ‘pts‘ | grep ‘php-fpm‘
  #查看状态打印出php-fpm的运行进程
}

#判断参数值 根据不同的参数值走不同分支 执行相应的函数
case "$1" in
start)
  start
  ;;
stop)
  stop
  ;;
restart)
  stop
start ;; status) status ;; esac

 

3.给执行权限

chmod +x /etc/init.d/php-fpm

 

4.加入服务

chkconfig --add php-fpm

 

5.最终操作

service php-fpm start
service php-fpm status
service php-fpm restart
service php-fpm stop

 


以上是关于shell之最常用的服务脚本的主要内容,如果未能解决你的问题,请参考以下文章

代码片段:Shell脚本实现重复执行和多进程

常用的shell脚本之一键部署DNS服务正向解析

shell 脚本 片段

用于确保在任何给定时间仅运行一个 shell 脚本的 shell 片段 [重复]

nodejs常用代码片段

常用的主机监控Shell脚本