合格linux运维人员必会的30道shell编程实践题及讲解-07
企业实战题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
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步