首页 >>  正文

怎么进shell脚本

来源:baiyundou.net   日期:2024-09-21

几个月前写了《MySQL总是停止服务,原来是腾讯云安全防护组件的“锅”》这篇文章,在这篇文章发布后,虽然MySQL服务自动停止的频率降低了,但实际上并没有从根本上解决这个问题,MySQL服务仍然会以大约每周一次的频率自动停止,于是开始寻找其他方法。

其实最根本的方法肯定是升级服务器配置,提升服务器的带宽,但这也就意味着运营成本的增加,对于非凡博客这种小网站来说,还是寻找其他曲线救国的方案更合适。

看到有网友分享宝塔面板有自动检测MySQL服务状态并自动修复的功能,但我又不喜欢安装各种面板,不过面板的各项功能底层逻辑肯定是通过执行Linux命令完成了,于是就开始考虑通过Linux相关命令实现自动检测MySQL状态的功能,这里要做的有两步:

1.新建Shell脚本,脚本实现的功能是检测MySQL服务状态,如果发现当前运行的程序进程中没有MySQL,那么就自动执行启动MySQL服务的命令,我们可以在/root/目录下新建一个check_mysql.sh的脚本文件,脚本的内容:

#!/bin/bash

pgrep -x mysqld &> /dev/null

if [ $? -ne 0 ];then

/etc/init.d/mysqld start

fi

2.借助计划任务实现脚本自动化执行,主要目的是做到无人值守自动检测:

通过命令 crontab -e进入计划任务的编辑页面,输入任务命令

*/15 * * * * /root/check_mysql.sh

这条命令的意思是每隔15分钟执行一次check_mysql.sh检测脚本。

最终实现的效果是系统每15分钟执行一次check_mysql.sh脚本,如果发现当前运行的程序进程中没有MySQL,那么Shell脚本将会自动执行启动MySQL服务的命令。

从3月份到现在的6月份,至少我每天打开非凡博客的时候都能正常访问,或许在我没有访问的时间里也曾偶尔出现过MySQL服务自动停止,但至少等到我每次发现以后再动手启动了。

","gnid":"9ca1a3c2e84a0a8be","img_data":[{"flag":2,"img":[{"desc":"","height":"868","title":"","url":"https://p0.ssl.img.360kuai.com/t01aa6a16e0f1060dbf.jpg","width":"951"},{"desc":"","height":"292","title":"","url":"https://p0.ssl.img.360kuai.com/t019197746e13586219.jpg","width":"1110"},{"desc":"","height":"320","title":"","url":"https://p0.ssl.img.360kuai.com/t018ef38c666b287fd3.jpg","width":"970"}]}],"original":0,"pat":"art_src_3,fts0,sts0","powerby":"cache","pub_time":1686624540000,"pure":"","rawurl":"http://zm.news.so.com/368c4724e800ed4a8c0e4b12df6c2c04","redirect":0,"rptid":"da8b3d5802693814","rss_ext":[],"s":"t","src":"羽度非凡","tag":[{"clk":"ktechnology_1:linux","k":"linux","u":""},{"clk":"ktechnology_1:mysql","k":"mysql","u":""}],"title":"借助shell脚本,解决MySQL服务自动停止的问题

轩岚朋2563怎样用vi编辑器新建shell脚本?Linux -
叶音成19236172799 ______ 新建脚本 vi shell.sh -->任意名称即可 #! /bin/sh -->开始输入脚本内容 ... ... 保存退出 chmod a+x shell.sh -->给脚本shell.sh执行权限 ./shell执行 或 sh shell.sh执行脚本

轩岚朋2563如何调试Shell脚本 -
叶音成19236172799 ______ 1) 检查语法错误: 一般来说我们可以通过修改shell脚本的源代码,令其输出相关的调试信息来定位错误,那有没有不修改源代码来调试shell脚本的方法呢?答案就是使用shell的执行选,下面是一些常用选项的用法: -n 只读取shell脚本,但不实...

轩岚朋2563shell 脚本 交互式输入 -
叶音成19236172799 ______ #!/bin/bash set timeout 30 cd /root/weixin_game read -p "请输入选项" A a() { /usr/bin/expect <<EOF spawn /usr/bin/git pull origin master expect ":" send "xxx\r" expect eof exit EOF } if [[ $A == A ]] then a fi 上面就是git交互拉取代码的方式

轩岚朋2563如何在Windows下运行linux shell脚本 -
叶音成19236172799 ______ 在运行中输入powershell就打开shell 望采纳

轩岚朋2563linux shell脚本如何启动一个java进程 -
叶音成19236172799 ______ 在shell里面直接调用即可. 1,编译一个java文件为a.class. 2,编写shell脚本b .sh .#!/bin/bash java a.class 3,放在同一目录下运行shell即可.如果要后台运行,bash b.sh&

轩岚朋2563linux shell怎么打开 -
叶音成19236172799 ______ 终端怎么打开吗?如果是图形界面,在菜单里找找就找到了.ubuntu的快捷键是ctrl+alt+t.如果你说的shell是脚本,用文本编辑器就能打开.

轩岚朋2563linux如何创建 shell脚本,创建了shell但保存不了 -
叶音成19236172799 ______ 学习一下vi命令吧 命令模式下 输入i /a 等 进入编辑模式 编辑内容 编辑模式下 键盘 Esc 进入命令模式 命令模式下, 敲入冒号 ":"然后输入wq!即可保存编辑 授执行权限给脚本(假设名为test) chmod 755 test 或者 chmod a+x test

轩岚朋2563ubuntu 怎么打开一个shell -
叶音成19236172799 ______ alt键+f2键调出运行程序对话框;输入gnome-terminal回车调出终端窗口;输入sudo apt-get install wine回车,等待从源下载安装wine程序,保证可以联网;建议对于linux命令不熟悉的用户通过“应用程序-ubuntu软件中心”安装应用程序,图形化操作,不需要命令,只要在搜索框里输入wine,然后从结果列表选择安装就行了.

轩岚朋2563如何运行shell命令?第一行为什么是# !/bin/sh? -
叶音成19236172799 ______ 因为shell程序是解释执行的,所以不需要编译装配成目标程序,按照shell编程的惯例,以bash为例,程序的第一行一般为 “# !/bin/bash”,其中# 表示该行是注释,叹号“!”告诉shell运行叹号之后的命令并用文件的其余部分作为输入,也就是...

轩岚朋2563在linux下,怎么写一个shell脚本调动一个java 类 -
叶音成19236172799 ______ java -cp "./classes:./classlib" -Dparam1=zzzzz test.myclass $0 -cp 指定classpath -D 指定一个参数,程序内用System.getProperty("param1")访问 $0 把外部调用的参数传递给java class

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024