Linux_自制系统服务启动脚本

简介: 目录目录前言Case语句Apache 启动脚本Postfix service 启停脚本前言在Linux的某些系统服务中,需要自己定制启动服务的脚本。

目录

前言

在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
相关文章
|
1天前
|
Linux 数据安全/隐私保护
Linux系统忘记密码的三种解决办法
这篇博客介绍了三种在Linux忘记密码时重置登录密码的方法:1) 使用恢复模式,通过控制台界面以管理员权限更改密码;2) 利用Linux Live CD/USB启动,挂载硬盘分区并使用终端更改密码;3) 进入单用户模式,自动以管理员身份登录后重置密码。每个方法都提供了详细步骤,提醒用户在操作前备份重要数据。
|
1天前
|
JSON Unix Linux
Linux系统之jq工具的基本使用
Linux系统之jq工具的基本使用
24 1
|
1天前
|
数据采集 监控 安全
linux系统被×××后处理经历
linux系统被×××后处理经历
|
2天前
|
Ubuntu Linux
Linux(Ubuntu)系统临时IP以及静态IP配置(关闭、启动网卡等操作)
请注意,以上步骤是在临时基础上进行配置的。如果要永久保存静态IP地址,通常还需要修改 `/etc/network/interfaces`文件,以便在系统重启后保持配置。同时,确保备份相关配置文件以防止出现问题。
9 1
|
2天前
|
监控 安全 Linux
Linux系统之安装ServerBee服务器监控工具
【4月更文挑战第22天】Linux系统之安装ServerBee服务器监控工具
40 2
|
2天前
|
缓存 Linux
linux系统缓存机制
linux系统缓存机制
|
3天前
|
存储 Linux Android开发
RK3568 Android/Linux 系统动态更换 U-Boot/Kernel Logo
RK3568 Android/Linux 系统动态更换 U-Boot/Kernel Logo
17 0
|
3天前
|
Linux 开发工具 Android开发
Docker系列(1)安装Linux系统编译Android源码
Docker系列(1)安装Linux系统编译Android源码
6 0
|
3天前
|
Linux Shell Android开发
自动化脚本之GPIO/LED相关适用于Android/Linux
自动化脚本之GPIO/LED相关适用于Android/Linux
13 0
|
4天前
|
资源调度 JavaScript Ubuntu
Linux系统之部署briefing视频聊天系统
【4月更文挑战第21天】Linux系统之部署briefing视频聊天系统
40 2