shell编写mysql启动脚本文件夹_企业级通过shell脚本开发MySQL启动脚本 案例

导读热词

企业Shell面试题10:开发@R_502_198@启动脚本

说明

@R_502_198@启动命令为:

/bin/sh@R_502_198@d_safe--pid-file=$@R_502_198@d_pid_file_path2>&1>/dev/null&

停止命令为:

@R_502_198@d_pid=`cat"$@R_502_198@d_pid_file_path"`

if(kill-0$@R_502_198@d_pid2>/dev/null)

then

kill$@R_502_198@d_pid

sleep2

fi

请完成@R_502_198@启动脚本的编写

要求:用函数,case语句、if语句等实现。

解答:

[root@db02scripts]#cat/etc/init.d/oldgirl

#!/bin/bash

#chkconfig:23456436

#description:@R_502_198@startup

#Author:oldboy

#Blog:

loading.pnghttp://oldboy.blog.51cto.com

#Time:2017-07-0709:24:34

#Name:

loading.png@R_502_198@d.sh

#Version:V1.0

#Description:Thisisatestscript.

[-f/etc/init.d/functions]&&source/etc/init.d/functions

Port=3306

User="root"

Bindir="/application/@R_502_198@/bin"

Datadir="/application/@R_502_198@/data"

@R_502_198@d_pid_file_path="/application/@R_502_198@/`hostname`.pid"

PATH="/sbin:/usr/sbin:/bin:/usr/bin:$basedir/bin"

exportPATH

return_value=0

#Lockdirectory.

lockdir='/var/lock/subsys'

lock_file_path="$lockdir/@R_502_198@"

log_success_msg(){

echo"SUCCESS!$@"

}

log_failure_msg(){

echo"ERROR!$@"

}

case"$1"in

start)

#Startdaemon

echo"Starting@R_502_198@"

iftest-x$Bindir/@R_502_198@d_safe

then

$Bindir/@R_502_198@d_safe--datadir="$Datadir"--pid-file="$@R_502_198@d_pid_file_path">/dev/null&

return_value=$?

sleep2

#MakelockforCentOS

iftest-w"$lockdir"

then

touch"$lock_file_path"

fi

exit$return_value

else

log_failure_msg"Couldn'tfind@R_502_198@server($bindir/@R_502_198@d_safe)"

fi

;;

stop)

iftest-s"$@R_502_198@d_pid_file_path"

then

@R_502_198@d_pid=`cat"$@R_502_198@d_pid_file_path"`

if(kill-0$@R_502_198@d_pid2>/dev/null)

then

echo"Shuttingdown@R_502_198@"

kill$@R_502_198@d_pid

return_value=$?

sleep2

else

log_failure_msg"@R_502_198@serverprocess#$@R_502_198@d_pidisnotrunning!"

rm-f"$@R_502_198@d_pid_file_path"

fi

#DeletelockforCentOS

iftest-f"$lock_file_path"

then

rm-f"$lock_file_path"

fi

exit$return_value

else

log_failure_msg"@R_502_198@serverPIDfilecouldnotbefound!"

fi

;;

restart)

if$0stop;then

$0start

else

log_failure_msg"Failedtostoprunningserver,sorefusingtotrytostart."

exit1

fi

;;

*)

echo"Usage:$0{start|stop|restart}"

exit1

;;

esac

exit$return_value

函数版:

#!/bin/bash

#chkconfig:23456436

#description:@R_502_198@startup

#Author:oldboy

#Blog:

loading.pnghttp://oldboy.blog.51cto.com

#Time:2017-07-0709:24:34

#Name:

loading.png@R_502_198@d.sh#Version:V1.0#Description:Thisisatestscript.[-f/etc/init.d/functions]&&source/etc/init.d/functionsport=3306user="root"bindir="/application/@R_502_198@/bin"datadir="/application/@R_502_198@/data"@R_502_198@d_pid_file_path="/application/@R_502_198@/`hostname`.pid"PATH="/sbin:/usr/sbin:/bin:/usr/bin:$basedir/bin"exportPATHreturn_value=0#Lockdirectory.lockdir='/var/lock/subsys'lock_file_path="$lockdir/@R_502_198@"log_success_msg(){echo"SUCCESS!$@"}log_failure_msg(){echo"ERROR!$@"}start(){#Startdaemonecho"Starting@R_502_198@"iftest-x$bindir/@R_502_198@d_safethen$bindir/@R_502_198@d_safe--datadir="$datadir"--pid-file="$@R_502_198@d_pid_file_path">/dev/null&return_value=$?sleep2#MakelockforCentOSiftest-w"$lockdir"thentouch"$lock_file_path"fiexit$return_valueelselog_failure_msg"Couldn'tfind@R_502_198@server($bindir/@R_502_198@d_safe)"fi}stop(){iftest-s"$@R_502_198@d_pid_file_path"then@R_502_198@d_pid=`cat"$@R_502_198@d_pid_file_path"`if(kill-0$@R_502_198@d_pid2>/dev/null)thenecho"Shuttingdown@R_502_198@"kill$@R_502_198@d_pidreturn_value=$?sleep2elselog_failure_msg"@R_502_198@serverprocess#$@R_502_198@d_pidisnotrunning!"rm-f"$@R_502_198@d_pid_file_path"fi#DeletelockforCentOSiftest-f"$lock_file_path"thenrm-f"$lock_file_path"fiexit$return_valueelselog_failure_msg"@R_502_198@serverPIDfilecouldnotbefound!"fi}case"$1"instart)start;;stop)stop;;restart)if$0stop;then$0startelselog_failure_msg"Failedtostoprunningserver,sorefusingtotrytostart."exit1fi;;*)echo"Usage:$0{start|stop|restart}"exit1;;esacexit$return_value

相关文章

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值