博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux_自制系统服务启动脚本
阅读量:6278 次
发布时间:2019-06-22

本文共 3311 字,大约阅读时间需要 11 分钟。

前言

在Linux的某些系统服务中,需要自己定制启动服务的脚本。通常会使用Cash语句来实现。

Case语句

一般用于程序启动脚本 

Syntax:

case $1 in    Param1)        Commands        ;;    Param2)        Commands        ;;    *)        Commands    esac
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

Example:

#!/bin/bash -e#/bin/bash -e 表示系统发生第一个错误时就中止脚本执行#每个被chkconfig管理的服务需要在对应的init.d下的脚本加上两行或者更多行的注释。# chkconfig:35 12 45#第一行告诉chkconfig缺省启动的运行级以及启动和停止的优先级。如果某服务缺省不在任何运行级启动,那么使用 – 代替运行级。# description:Service start script#第二行对服务进行描述,可以用\ 跨行注释。RETVAL=0case $1 instart)  echo "service starting..."  ;;stop)  echo "service stopping..."  ;;restart)#$0 meating is this one script  sh $0 stop || true# $0 stop || ture  表示出现错误时候不想中止的指令  sh $0 start  ;;*)  echo "input syntax error!"  echo "Usage:Is [start|stop|restart]"  exit 1  ;;esacecho $RETVAL###################################SCRIPT END
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

Apache 启动脚本

######################################## Apache 启动脚本#!/bin/bash -e       [ -f /etc/rc.d/init.d/functions ] && . /etc/rc.d/init.d/functions  RETVAL=0  #使用变量作为判断和关联上下本的载体httpd="/application/apache/bin/httpd"    #使用变量简化使用指令的决定路径start() {          $httpd -k start >/dev/null 2>&1    #httpd -k start|restart|graceful|stop|graceful-stop     发送信号使httpd启动、重新启动或停止        # daemon httpd >/dev/null 2>&1   # 2>&1 将错误输出到正确输出,即标准输出和错误输出一起输出,管道|不通过错误输出        RETVAL=$?          [ $RETVAL -eq 0 ] && action "启动 httpd:" /bin/true ||\          action "启动 httpd:" /bin/false          return $RETVAL  }  stop() {          $httpd -k stop >/dev/null 2>&1          # killproc httpd >/dev/null 2>&1          [ $? -eq 0 ] && action "停止 httpd:" /bin/true ||\          action "停止 httpd:" /bin/false          return $RETVAL  }  case "$1" in    start)          start  #Call function start()        ;;    stop)          stop          ;;    restart)         sh $0 stop         sh $0 start          ;;     *)          echo "Format error!"          echo $"Usage: $0 {start|stop|restart}"          exit 1          ;;  esac  exit $RETVAL  ####################################### SCRIPT END
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40

Postfix service 启停脚本

################################ Postfix service 启停脚本#!/bin/bash -e# chkconfig:35 53 55# discription:postfixstart() {        echo "Starting postfix..."        postfix start &> /dev/null        echo "OK!"}stop() {        echo -n "stopping postfix..."        postfix stop &> /dev/null        echo "OK!"}reload() {        echo -n "Loading postfix configure file"        postfix reload &> /dev/null        echo "OK!"}status() {        postfix status &> /dev/null        if [ $? -eq 0 ]        then echo "running!"        else echo "stop!"        if}help() {        echo "syntax error!"        echo "Uasge:Is [start|stop|restart|reload|status]"}case $1 instart)        $1        ;;stop)        $1        ;;restart)        stop        start        ;;reload)        $1        ;;status)        $1        ;;*)        help        ;;esac################################SCRIPT END

转载:http://blog.csdn.net/jmilk/article/details/50407834

你可能感兴趣的文章
找小于N 的所有质数
查看>>
Windows下的Jupyter Notebook 的介绍(写给新手)(图文详解)
查看>>
iOS开发-CocoaPods实战
查看>>
JS组件系列——Bootstrap 树控件使用经验分享
查看>>
HTML-color:rgb()-颜色渐进
查看>>
数据库实例: STOREBOOK > 表空间 > 编辑 表空间: UNDOTBS1
查看>>
Mcad学习笔记之异步编程(AsyncCallback委托,IAsyncResult接口,BeginInvoke方法,EndInvoke方法的使用小总结)...
查看>>
Javascript防冒泡事件与Event对象
查看>>
managed domain与unmanaged domain
查看>>
《中国人工智能学会通讯》——11.47 领域文本中的实体链接技术
查看>>
刚毕业不久,就在人工智能上做出这样大贡献
查看>>
中国人工智能学会通讯——迎接深度学习的“大”挑战(下) 1.2 深度学习的挑战和机遇...
查看>>
不可不看!即将发布的浪潮高端存储
查看>>
锐捷工程师:深夜敲击键盘的样子,很燃
查看>>
数据中心未来的商业化系统
查看>>
《算法技术手册》一2.3 最好、最坏和平均情况下的性能分析
查看>>
LTE-Hi渐行渐近 有望打破4G深度覆盖局限
查看>>
Nuance报告:医护人员如何从人工智能中受益
查看>>
JavaScript异步与Promise实现
查看>>
Android内存泄漏产生的6大原因
查看>>