目录

  • 目录
  • 前言
  • Case语句
  • Apache 启动脚本
  • Postfix service 启停脚本

前言

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

Case语句

一般用于程序启动脚本
Syntax:

case $1 inParam1)Commands;;Param2)Commands;;*)Commandsesac

Example:

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

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

Postfix service 启停脚本

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

Linux_自制系统服务启动脚本相关推荐

  1. linux开机启动脚本的顺序

      如果 [url=javascript:;]服务[/url] 器重启之后需要手工开启许多服务.工作及以后的维护相对比较繁琐.特地总结了下 [url=javascript:;]linux[/url] ...

  2. CentOS开机启动脚本的顺序

    CentOS开机启动脚本的顺序 时间:2015-05-27 01:37来源:chinaunix.net 作者:br9852000 举报 点击:800次 id="iframeu2000246_ ...

  3. linux自定义开机启动脚本

    一.概述 使用IDEA生成的linux系统可执行程序.sh文件,手动启动没有问题,开机自启动踩了不少坑,网上提供的三种方法都不适合, 有一种方法是在/etc/rc.local文件中加上启动脚本的命令, ...

  4. debain系统code-server云IDE开机启动脚本

    code-server开机启动脚本 参考debain11安装code-server以非root用户开机启动 本文是一个code-server开机启动脚本,拿来即用.可以在外面使用云端IDE工具. co ...

  5. ubuntu 设置开机执行脚本_ubuntu-18.04 设置开机启动脚本

    ubuntu-18.04 设置开机启动脚本 参阅下列链接 ubuntu-18.04不能像ubuntu14一样通过编辑rc.local来设置开机启动脚本,通过下列简单设置后,可以使rc.local重新发 ...

  6. LNMP安装与启动脚本编写

    1.安装mysql 1 cd /usr/local/src/ 下载mysql: 1 wget http://mirrors.sohu.com/mysql/MySQL-5.1/mysql-5.1.72- ...

  7. YARN-2.7.3-源码分析系列2:启动脚本原理的分析

    2019独角兽企业重金招聘Python工程师标准>>> 上一节,我们把二进制和源码都下载好了,这一把,我们来启动脚本的研究,看看究竟是如何把RM和NM启动起来的! --------- ...

  8. mysql,mairadb启动脚本

    # mysql 启动脚本,一直使用mariadb,data目录一直不对,启动一直出错,自己编写的一个小脚本 # 适用于el6 systemd脚本  如果用ansible 使用service启动会报错, ...

  9. LNMP之 nginx 启动脚本和配置文件

    因为 nginx 启动不方便,所以我们需要自已手动来编译一个nginx 的启动脚本 [root@LNMP ~]# vim /etc/init.d/nginx  #加入以下内容 #!/bin/bash# ...

最新文章

  1. 计算机表格大小怎么调整,excel表格如何调整表格大小
  2. 如何编辑PDF文件,怎么修改PDF中的文字
  3. java有参数 无参数方法
  4. JAVA第六章第6题,java第六章例题源代码
  5. 软考信息安全必备考点
  6. C#报表控件ReportViewer rdlc 例(1) .
  7. CGAffineTransformMakeRotation 实现旋转
  8. k8s集群部署八(DNS服务发现)
  9. linux zip分卷压缩解压命令
  10. android按住录音按钮_Android仿微信录音功能
  11. 如何成为优秀的UI设计师
  12. ubuntu下查看电脑内存硬盘CPU显卡驱动等配置命令
  13. 为什么有人会说「感谢拼多多」,让一贫如洗的我还能活下去?
  14. 【图片新闻】五角大楼的国防创新部DIU正在规划建设一个未来机器人空间站
  15. 云起时:记我们正在经历的教育之跃
  16. GPS/BDS:星历表、历书、GPS三种启动方式
  17. Linux-chpasswd 修改用户密码
  18. python实现加密解密功能(GUI)
  19. 【学习日记2023.6.9】之 SpringCloud入门(认识微服务_服务拆分和远程调用RestTemplate_Eureka注册中心_Ribbon负载均衡_Nacos注册中心)
  20. 98 375 html5 模拟题,vb模拟题库中的选择题3

热门文章

  1. samba服务器_麒麟V10链接SAMBA服务器的方法
  2. string转date类型_10:Wrapper;String;Date;Math;File;Enumeration;Syst
  3. iOS移除父控件中所有子控件的两种方式
  4. 脑电数据的Epoching处理
  5. 年度BCI奖 |THE ANNUAL BCI AWARD
  6. 关卡设计快速入门P_4. 放置Actor
  7. AI学会了用“人眼”看世界,甚至连人类瞳孔的细微缩放都能模拟 | 杜克大学...
  8. 连鸽14年的哈勃望远镜“继任者”终于发射了!耗资600亿,能给136亿年前星系拍照...
  9. 你的「所见所闻」,才是电视的核心竞争力
  10. 马斯克放话:6个月内公测卫星互联网!颠覆5G的将不是6G