linux脚本实现重启服务成功提示ok,shell脚本生成服务演示服务启动、停止过程。...

1、编写服务脚本/root/bin/testsrv.sh,完成如下要求

65b5c507d5d5a85b125be496e2a30118.png

1、编写服务脚本/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/SCRIPT_NAME文件存在,则显示

“ SCRIPT_NAMEis running...”

如果/var/lock/subsys/SCRIPT_NAME文件不存在,则显示“ SCRIPT_NAMEis stopped...”

其中: SCRIPT_NAME为当前脚本名

(7)在所有模式下禁止启动该服务,可用chkconfig 和 service命令管理

脚本测试用于实验使用。(以下脚本并未全部按照题目所描述写)

#!/bin/bash

#chkconfig: 345 98 2

#descrption:Testing services

#script_name:testser

#Author:Li

. /etc/rc.d/init.d/functions                 #调用系统函数文件(注释)

ser='/var/lock/subsys/script_shell'            #模拟服务文件

start(){

if [  -e $ser ] ;then

echo "The service is already running"    #判断文件是否存在并打印相应内容

else

touch $ser        #创建文件

action "service started successfully"#action 内置函数 文章结尾有注释

fi

}

stop(){

if [ -e $ser ] ;then

rm -rf $ser

action "service stop "

else

echo "service not running"

fi

}

restart(){

if [ -e $ser ] ;then

sleep 0.5    #间隔时间(仅为模拟服务启动过程使用)

stop

sleep 0.5

start

else

action "service not running" /bin/false

sleep 0.5

start

fi

}

status(){

if [ -e $ser ];then

echo -e "\tThe service is running..."

else

echo  -e "\tservice not running"

fi

}

case $1 in

start)

start

;;

stop)

stop

;;

restart)

restart

;;

status)

status

;;

*)

echo "Please enter the correct parameters (start|stop|restart|status)"

esac

chkconfig --add testser #将其生成为服务 (请将脚本放置于/etc/init.d/目录下执行)

chkconfig tesetser off  #可以禁止该服务开机启动#执行结果

[root@mage_C6 ~]# service testser start

service started successfully                               [  OK  ]

[root@mage_C6 ~]# service testser stop

service stop                                               [  OK  ]

[root@mage_C6 ~]# service testser restart

service not running                                        [FAILED]

service started successfully                               [  OK  ]

[root@mage_C6 ~]# service testser start

The service is already running

[root@mage_C6 ~]# service testser status

The service is running...

[root@mage_C6 ~]#

此脚本将 /var/lock/sybsys/script_shell 作为测试服务使用。利用它模拟一个服务的启动、停止等过程。

注释:action:打印某个信息并执行给定的命令,它会根据命令执行的结果来调用 success,failure方法

如果想了解你参考下面这位兄台的博客。

http://www.cnblogs.com/p_w_picpath-eye/archive/2011/10/26/2220405.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值