练习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