练习10

作者: Stone_説 | 来源:发表于2020-04-07 23:34 被阅读0次

    编写服务脚本/root/bin/testsrv.sh,完成如下要求
    (1)脚本可接受参数:start,stop,restart,status
    (2)如果参数非此四者之一,提示使用格式后报错退出
    (3)如是start:则创建/var/lock/subsys/SCRIPT_NAME,并显示“启动成功”
    考虑:如果事先已经启动过一次,该如何处理?
    (4)如是stop:则删除/var/lock/subsys/SCRIPT_NAME,并显示“停止完成”
    考虑:如果事先已然停止过了,该如何处理?
    (5)如是restart,则先stop,在start
    考虑:如果本来没有start,如何处理?
    (6)如是status,则如果/var/lock/subsys/SCRIPTS_NAME文件存在,则显示“SCRIPT_NAME is running...”,如果/var/log/subsys/SCRIPT_NAME文件不存在,则显示“SCRIPT_NAME is stopped...”
    (7)在所有模式下禁止启动该服务,可用chkconfig和service命令管理
    说明:SCRIPT_NAME为当前脚本名

    [root@node1 init.d]# vi testsrv.sh 
    #!/bin/bash
    #
    # chkconfig: - 98 3
    # description: test service
    
    . /etc/init.d/functions
    
    start(){
        touch /var/lock/subsys/testsrv 
        action "Starting testsrv" 
    }
    stop(){
        rm -f /var/lock/subsys/testsrv
        action "Stopping testsrv"
    }
    status(){
        [ -f /var/lock/subsys/testsrv ] && echo testsrv is running || echo testsrv is stopped
    }
    
    case $1 in
    start)
        start 
        ;;
    stop)
        stop
        ;;
    restart)
        stop
        start
        ;;
    status)
        status
        ;;
    *)
        echo "Usage: /etc/init.d/testsrv {start|stop|status|restart}"
    esac
    
    

    相关文章

      网友评论

          本文标题:练习10

          本文链接:https://www.haomeiwen.com/subject/xudjkhtx.html