合格linux运维人员必会的30道shell编程实践题及讲解


企业实战题7:
开发mysql多实例启动脚本:
已知mysql多实例启动命令为:mysqld_safe--defaults-file=/data/3306/my.cnf &
停止命令为:mysqladmin -u root -poldboy123 -S /data/3306/mysql.sockshutdown
请完成mysql多实例启动启动脚本的编写
要求:用函数,case语句、if语句等实现。

我的脚本====================

 

#!/bin/bash
[
-f /etc/init.d/functions ] && . /etc/init.d/functions
MYUSER
=root
MYPASS
=oldboy123
SOCKET
=/data/3306/mysql.sock
MYCNF
=/data/3306/my.cnf
MYCMD
="mysql -u$MYUSER -p$MYPASS -S$SOCKET"
MYADMIN
="mysqladmin -u$MYUSER -p$MYPASS -S$SOCKET"

judge(){
if [ $RETVAL -eq 0 ];then
action
"$1 mysql" /bin/true
else
action
"$1 mysql" /bin/false
fi
return $RETVAL
}

start(){
mysqld_safe
--defaults-file=$MYCNF &>/dev/null &
RETVAL
=$?
sleep
2
judge start
}

stop(){
$MYADMIN shutdown
>/dev/null 2>&1
RETVAL
=$?
judge stop
}

case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep
3
start
;;
*)
echo
-e "\nUsage: $0 {start|stop|restart}\n"
exit $RETVAL
esac

 


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com