如何重写启动脚本
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章给大家分享的是重写启动脚本的方法,相信大部分人都还没学会这个技能,为了让大家学会,给大家总结了以下内容,话不多说,一起往下看吧。!/bin/bashuser=rootport=3306CmdP
千家信息网最后更新 2026年11月02日如何重写启动脚本
这篇文章给大家分享的是重写启动脚本的方法,相信大部分人都还没学会这个技能,为了让大家学会,给大家总结了以下内容,话不多说,一起往下看吧。
!/bin/bash
user=root
port=3306
CmdPath=/opt/mysql/bin
password=xxxxxxxxxx
base_dir=/opt/mysql
inst_dir=/data/3306
alive="00"
sMysqld=0
sMysqldSafe=0
fSock=0
fPID=0
check_alive()
{
echo "running check_alive..."
if [ps -ef | grep $port | grep -v grep | grep 'mysqld ' |awk '{print $2}'];then
echo "Process mysqld is running!"
sMysqld=1
else
echo "Process mysqld is not running!"
sMysqld=0
fiif [ `ps -ef | grep 3306 | grep -v grep | grep 'mysqld_safe' |awk '{print $2}'` ];thenecho "Process mysqld_safe is running!" sMysqldSafe=1 else echo "Process mysqld_safe is not running!" sMysqldSafe=0 fi if [ -e ${inst_dir}/mysql.sock ];then echo "socked file exists!" fSock=1 else echo "socked file not exists!" fSock=0 fi if [ -e ${inst_dir}/mysql.pid ];then echo "pid file exists!" fPID=1 else echo "pid file not exists!" fPID=0 fi if [ $sMysqld -eq 1 ];then if [ $fPID -eq 0 ];then echo "PID is missing, tring to recreate..." ps -ef | grep $port | grep -v grep | grep 'mysqld ' |awk '{print $2}' > ${inst_dir}/mysql.pid if [ -e ${inst_dir}/mysql.pid ]; then echo "pid file is created!" else echo "can not create PID file, please have a check!" fi fi if [ $sMysqldSafe -eq 0 ];then echo "Process mysqld_safe is missing, please have a check! May cause mysqld crash!" fi if [ $fSock -eq 1 ];then echo "MySQL running fine!!!" alive="11" else echo "socket file is missing, you may have to login without socket!" alive="10" fi else echo "process mysqld is missing, mysql is stopped!" if [ $fSock -eq 1 ] | [ $fPID -eq 1 ];then echo "mysql was stopped abnormality!" echo "cleaning socket file and pid file" alive="01" else alive="00" fifi
}
start_mysql()
{
check_alive
printf "MySQL is starting ... \n"
if [ $alive == "00" ]; then
${CmdPath}/mysqld_safe --defaults-file=${inst_dir}/my.cnf --user=${user} 2>&1 >/dev/null &
else
if [ $alive == "11" ]; then
echo "MySQL is runnig!"
else
if [ $alive == "01" ]; then
echo "MySQL was stopped but pid or sock file still exits!"
echo "Cleanning pid or sock files!"
if [ $fSock -eq 1 ];then
rm -f ${inst_dir}/mysql.sock
fi
if [ $fPID -eq 1 ];then
rm -f ${inst_dir}/mysql.pid
fi
echo "Tring to start MySQL again!!!"
${CmdPath}/mysqld_safe --defaults-file=${inst_dir}/my.cnf --user=${user} 2>&1 >/dev/null &
fi
fi
fi
}
stop_mysql()
{
check_alive
printf "MySQL is Stopping...\n"
if [ $alive == "11" ]; then
${CmdPath}/mysqladmin -u root -p${password} -S ${inst_dir}/mysql.sock shutdown 2>&1 >/dev/null &
else
if [ $alive == "10" ]; then
${CmdPath}/mysqladmin -u root -p${password} -h $HOSTNAME -P $port --protocol tcp shutdown 2>&1 >/dev/null &
else
echo "MySQL is not running, no need stop!"
fi
fi
}
restart_mysql()
{
stop_mysql
sleep 5
if [ $? == 0 ];then
start_mysql
else
echo "stop mysql failed!"
fi
}
case $1 in
start)
start_mysql
;;
stop)
stop_mysql
;;
restart)
restart_mysql
;;
status)
status_mysql
;;
alive)
check_alive
;;
*)
printf "Please in put start|stop|restart|status as input"
;;
esac}
以上就是重写启动脚本的方法,代码示例简单明了,如果在日常工作遇到此问题。通过这篇文章,希望你能有所收获,更多详情敬请关注行业资讯频道!
脚本
方法
篇文章
代码
内容
大部分
就是
技能
日常工作
明了
更多
看吧
示例
行业
详情
资讯
资讯频道
问题
频道
工作
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网和科技技术
朗新科技与工业互联网
互联网科技资迅
网络科技有限互联网
卓越科技(互联网 )
贷财互联网科技
远拓互联网科技
广州善班互联网科技
火传媒上海互联网科技
互联网科技公司招聘
互联网系的金融科技公司
互联网经济与金融科技
荆州市昕露互联网络科技有限公司
互联网科技产业特征
宜昌元轩互联网科技有限公司
开一家科技互联网公司需要多少钱
万物互联网智能科技
湖北辰鑫科技互联网
互联网金融金融科技
互联网科技自媒体灵感
深圳互联网科技公司
互联网的科技创新
互联网金融 金融科技
深圳市罗太互联网科技有限公司
互联网科技如何创业
每天都有哪些好的互联网科技
互联网营销推广黑科技
上海创道互联网络科技有限公司
银川新华互联网科技学校是国营吗
华人运通互联网科技公司