企业级使用shell是如何开发MySQL开启脚本的
发布时间:2023-09-22 15:47:01 所属栏目:MySql教程 来源:
导读:MySQL启动命令为:
/bin/sh mysqld_safe --pid-file=$mysqld_pid_file_path 2>&1 > /dev/null &
停止命令为:
mysqld_pid=`cat "$mysqld_pid_file_path"`
if (kill -0 $mysqld_pid 2>/dev/null)
/bin/sh mysqld_safe --pid-file=$mysqld_pid_file_path 2>&1 > /dev/null &
停止命令为:
mysqld_pid=`cat "$mysqld_pid_file_path"`
if (kill -0 $mysqld_pid 2>/dev/null)
MySQL启动命令为: /bin/sh mysqld_safe --pid-file=$mysqld_pid_file_path 2>&1 > /dev/null & 停止命令为: mysqld_pid=`cat "$mysqld_pid_file_path"` if (kill -0 $mysqld_pid 2>/dev/null) then kill $mysqld_pid sleep 2 fi 请完成MySQL启动脚本的编写 要求:用函数,case语句、if语句等实现。 解答: 企业级使用shell是如何开发MySQL启动脚本的 [root@db02 scripts]# cat /etc/init.d/oldgirl #!/bin/bash # chkconfig: 2345 64 36 # description: MySQL startup #Author:oldboy #Blog:企业级使用shell是如何开发MySQL启动脚本的http://oldboy.blog.51cto.com #Time:2017-07-07 09:24:34 #Name:企业级使用shell是如何开发MySQL启动脚本的mysqld.sh #Version:V1.0 #Description:This is a test script. [ -f /etc/init.d/functions ] && source /etc/init.d/functions Port=3306 User="root" Bindir="/application/mysql/bin" Datadir="/application/mysql/data" mysqld_pid_file_path="/application/mysql/`hostname`.pid" PATH="/sbin:/usr/sbin:/bin:/usr/bin:$basedir/bin" export PATH return_value= # Lock directory. lockdir='/var/lock/subsys' lock_file_path="$lockdir/mysql" log_success_msg(){ echo " SUCCESS! $@" } log_failure_msg(){ echo " ERROR! $@" } case "$1" in start) # Start daemon echo "Starting MySQL" if test -x $Bindir/mysqld_safe then $Bindir/mysqld_safe --datadir="$Datadir" --pid-file="$mysqld_pid_file_path" >/dev/null & return_value=$? sleep 2 # Make lock for CentOS if test -w "$lockdir" then touch "$lock_file_path" fi exit $return_value else log_failure_msg "Couldn't find MySQL server ($bindir/mysqld_safe)" fi ;; stop) if test -s "$mysqld_pid_file_path" then mysqld_pid=`cat "$mysqld_pid_file_path"` if (kill -0 $mysqld_pid 2>/dev/null) then echo "Shutting down MySQL" kill $mysqld_pid return_value=$? sleep 2 else log_failure_msg "MySQL server process #$mysqld_pid is not running!" rm -f "$mysqld_pid_file_path" fi # Delete lock for CentOS if test -f "$lock_file_path" then rm -f "$lock_file_path" fi exit $return_value else log_failure_msg "MySQL server PID file could not be found!" fi ;; restart) if $0 stop; then $0 start else log_failure_msg "Failed to stop running server, so refusing to try to start." exit 1 fi ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 ;; esac exit $return_value 函数版: #!/bin/bash # chkconfig: 2345 64 36 # description: MySQL startup #Author:oldboy #Blog:企业级使用shell是如何开发MySQL启动脚本的http://oldboy.blog.51cto.com #Time:2017-07-07 09:24:34 #Name:企业级使用shell是如何开发MySQL启动脚本的mysqld.sh #Version:V1.0 #Description:This is a test script. [ -f /etc/init.d/functions ] && source /etc/init.d/functions port=3306 user="root" bindir="/application/mysql/bin" datadir="/application/mysql/data" mysqld_pid_file_path="/application/mysql/`hostname`.pid" PATH="/sbin:/usr/sbin:/bin:/usr/bin:$basedir/bin" export PATH return_value= # Lock directory. lockdir='/var/lock/subsys' lock_file_path="$lockdir/mysql" log_success_msg(){ echo " SUCCESS! $@" } log_failure_msg(){ echo " ERROR! $@" } start(){ # Start daemon echo "Starting MySQL" if test -x $bindir/mysqld_safe then $bindir/mysqld_safe --datadir="$datadir" --pid-file="$mysqld_pid_file_path" >/dev/null & return_value=$? sleep 2 # Make lock for CentOS if test -w "$lockdir" then touch "$lock_file_path" fi exit $return_value else log_failure_msg "Couldn't find MySQL server ($bindir/mysqld_safe)" fi } stop(){ if test -s "$mysqld_pid_file_path" then mysqld_pid=`cat "$mysqld_pid_file_path"` if (kill -0 $mysqld_pid 2>/dev/null) then echo "Shutting down MySQL" kill $mysqld_pid return_value=$? sleep 2 else log_failure_msg "MySQL server process #$mysqld_pid is not running!" rm -f "$mysqld_pid_file_path" fi # Delete lock for CentOS if test -f "$lock_file_path" then rm -f "$lock_file_path" fi exit $return_value else log_failure_msg "MySQL server PID file could not be found!" fi } case "$1" in start) start ;; stop) stop ;; restart) if $0 stop; then $0 start else log_failure_msg "Failed to stop running server, so refusing to try to start." exit 1 fi ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 ;; esac exit $return_value (编辑:聊城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐