如何重写启动脚本
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章给大家分享的是重写启动脚本的方法,相信大部分人都还没学会这个技能,为了让大家学会,给大家总结了以下内容,话不多说,一起往下看吧。!/bin/bashuser=rootport=3306CmdP
千家信息网最后更新 2025年11月07日如何重写启动脚本
这篇文章给大家分享的是重写启动脚本的方法,相信大部分人都还没学会这个技能,为了让大家学会,给大家总结了以下内容,话不多说,一起往下看吧。
!/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安全错误
数据库的锁怎样保障安全
怎么新建数据库关系图
杭州分布式服务器行情
map怎么加入数据库
最干净最快捷代理服务器
网络安全维护服务器实例
钢铁网络安全案例
十九大中央网络安全
dede数据库后台
对软件开发大概了解多少
网络安全讲座的感想300字
软件开发windows笔记本
东城ibm服务器回收价格
多玩我的世界创服务器
什么软件开发网站最好
百余网络安全官
如何判断服务器人数
后台数据库的商城源码
信息网络安全方面的新闻
网络安全这些事
乾颐堂华为网络技术
国产存储服务器厂商
如果阿神开了吃鸡服务器
服务器中毒怎么办
ios小软件开发
如何下载wiley数据库
数据库自定义触发器
运行安全属于网络安全吗
测控网络技术考试
列举两个重要外文核心期刊数据库
定海网络安全防护