Linux_自制系统服务启动脚本

举报
云物互联 发表于 2021/08/05 23:16:57 2021/08/05
1.5k+ 0 0
【摘要】 目录 目录前言Case语句Apache 启动脚本Postfix service 启停脚本 前言 在Linux的某些系统服务中,需要自己定制启动服务的脚本。通常会使用Cash语句来实现。 Case语句 一般用于程序启动脚本 Syntax: case $1 in Param1) Commands ;; Param2) Commands ;...

目录

前言

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

Case语句

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

case $1 in Param1) Commands ;; Param2) Commands ;; *) Commands esac
  
 

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 script
  sh $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/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 in
start) $1 ;;
stop) $1 ;;
restart) stop start ;;
reload) $1 ;;
status) $1 ;;
*) help ;;
esac
################################SCRIPT END
  
 

文章来源: is-cloud.blog.csdn.net,作者:范桂飓,版权归原作者所有,如需转载,请联系作者。

原文链接:is-cloud.blog.csdn.net/article/details/50407834

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作
咦,数据开小差了,去别处转转先

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。