Linux_自制系统服务启动脚本
目录
- 目录
- 前言
- 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_自制系统服务启动脚本相关推荐
- linux开机启动脚本的顺序
如果 [url=javascript:;]服务[/url] 器重启之后需要手工开启许多服务.工作及以后的维护相对比较繁琐.特地总结了下 [url=javascript:;]linux[/url] ...
- CentOS开机启动脚本的顺序
CentOS开机启动脚本的顺序 时间:2015-05-27 01:37来源:chinaunix.net 作者:br9852000 举报 点击:800次 id="iframeu2000246_ ...
- linux自定义开机启动脚本
一.概述 使用IDEA生成的linux系统可执行程序.sh文件,手动启动没有问题,开机自启动踩了不少坑,网上提供的三种方法都不适合, 有一种方法是在/etc/rc.local文件中加上启动脚本的命令, ...
- debain系统code-server云IDE开机启动脚本
code-server开机启动脚本 参考debain11安装code-server以非root用户开机启动 本文是一个code-server开机启动脚本,拿来即用.可以在外面使用云端IDE工具. co ...
- ubuntu 设置开机执行脚本_ubuntu-18.04 设置开机启动脚本
ubuntu-18.04 设置开机启动脚本 参阅下列链接 ubuntu-18.04不能像ubuntu14一样通过编辑rc.local来设置开机启动脚本,通过下列简单设置后,可以使rc.local重新发 ...
- LNMP安装与启动脚本编写
1.安装mysql 1 cd /usr/local/src/ 下载mysql: 1 wget http://mirrors.sohu.com/mysql/MySQL-5.1/mysql-5.1.72- ...
- YARN-2.7.3-源码分析系列2:启动脚本原理的分析
2019独角兽企业重金招聘Python工程师标准>>> 上一节,我们把二进制和源码都下载好了,这一把,我们来启动脚本的研究,看看究竟是如何把RM和NM启动起来的! --------- ...
- mysql,mairadb启动脚本
# mysql 启动脚本,一直使用mariadb,data目录一直不对,启动一直出错,自己编写的一个小脚本 # 适用于el6 systemd脚本 如果用ansible 使用service启动会报错, ...
- LNMP之 nginx 启动脚本和配置文件
因为 nginx 启动不方便,所以我们需要自已手动来编译一个nginx 的启动脚本 [root@LNMP ~]# vim /etc/init.d/nginx #加入以下内容 #!/bin/bash# ...
最新文章
- 计算机表格大小怎么调整,excel表格如何调整表格大小
- 如何编辑PDF文件,怎么修改PDF中的文字
- java有参数 无参数方法
- JAVA第六章第6题,java第六章例题源代码
- 软考信息安全必备考点
- C#报表控件ReportViewer rdlc 例(1) .
- CGAffineTransformMakeRotation 实现旋转
- k8s集群部署八(DNS服务发现)
- linux zip分卷压缩解压命令
- android按住录音按钮_Android仿微信录音功能
- 如何成为优秀的UI设计师
- ubuntu下查看电脑内存硬盘CPU显卡驱动等配置命令
- 为什么有人会说「感谢拼多多」,让一贫如洗的我还能活下去?
- 【图片新闻】五角大楼的国防创新部DIU正在规划建设一个未来机器人空间站
- 云起时:记我们正在经历的教育之跃
- GPS/BDS:星历表、历书、GPS三种启动方式
- Linux-chpasswd 修改用户密码
- python实现加密解密功能(GUI)
- 【学习日记2023.6.9】之 SpringCloud入门(认识微服务_服务拆分和远程调用RestTemplate_Eureka注册中心_Ribbon负载均衡_Nacos注册中心)
- 98 375 html5 模拟题,vb模拟题库中的选择题3
热门文章
- samba服务器_麒麟V10链接SAMBA服务器的方法
- string转date类型_10:Wrapper;String;Date;Math;File;Enumeration;Syst
- iOS移除父控件中所有子控件的两种方式
- 脑电数据的Epoching处理
- 年度BCI奖 |THE ANNUAL BCI AWARD
- 关卡设计快速入门P_4. 放置Actor
- AI学会了用“人眼”看世界,甚至连人类瞳孔的细微缩放都能模拟 | 杜克大学...
- 连鸽14年的哈勃望远镜“继任者”终于发射了!耗资600亿,能给136亿年前星系拍照...
- 你的「所见所闻」,才是电视的核心竞争力
- 马斯克放话:6个月内公测卫星互联网!颠覆5G的将不是6G