shell监控进程脚本
⑴ linux shell脚本监控kafka,如果挂了自动重启
实现Kafka服务监控与自动重启的Linux shell脚本如下所示。此脚本适用于定时检查Kafka服务状态,并在服务未运行时自动启动服务。
脚本主要分为以下部分:
1. **定义变量**:脚本中定义了Kafka服务的安装路径(KAFKA_HOME)、日志文件路径(KAFKA_LOG)以及进程ID文件路径(KAFKA_PID_FILE)。
2. **检查Kafka服务**:`check_kafka`函数用于验证进程ID文件是否存在且进程是否仍在运行。如果服务未运行,则执行启动操作。
3. **启动Kafka服务**:`start_kafka`函数使用`nohup`命令在后台启动Kafka,同时将输出重定向至日志文件。启动成功后,脚本会记录进程ID。
4. **循环检查**:在主循环中,脚本每隔10秒执行一次`check_kafka`函数,确保Kafka服务始终运行。
注意:此脚本作为示例,根据具体环境可能需进行适当调整。确保在安全的环境下运行,避免执行可能造成数据丢失或其他不可逆操作的命令。
通过上述脚本,可实现Kafka服务的自动化监控与故障恢复,确保服务连续性,提升系统稳定性。
⑵ 如何编写一个shell脚本查看某个进程是否在运行
1 、编写一个shell脚本来查看某个进程是否在运行,用户可以通过ps命令获取所有的进程,然后通过awk命令提取进程名,再用grep提取相应的进程名即可。
2、参考代码如下:
ps-aux|awk'{print$11}'|grep"^$1">/dev/null
case$?in
0)
echo"findprocess$1"
;;
1)
echo"$1isnotrunning"
;;
*)
echo"unknowerror"
esac
3、脚本运行结果如下
⑶ 关于linux服务器进程监控及自动重启的方法介绍
本周开始,新手游进行删档封测阶段,前两天表现还好,今天更新后出现几次宕机行为,比较影响玩家的测试和体验,我们的服务器管理系统尚未完善,为了晚上能够预防宕机造成损失,先用一种简单的方案临时顶替一下。
实现原理主要是使用linux提供的crontab机制,定时查询服务器进程是否存在,如果宕机则处理我们预设的脚本。
首先我们要向crontab加入一个新任务。
# crontab -e:进入编辑状态,其实就是使用vi编辑。
*/1 * * * * sh /root/monitor.sh
我这里只是简单的设置每分钟调用一个shell脚本monitor.sh。这里可以配置的更强大,大家可以去搜索一下crontab的教程,网上有很多这类的教程。
这里需要注意的是,很多教程配置command的时候直接使用/root/monitor.sh,我设置的时候发现这样配置不会执行shell脚本,前面加上sh后就能执行了。
然后我们开始写monitor.sh这个shell脚本。
#! /bin/sh proc_name="WorldFrame_d"
#进程名 proc_num()
#查询进程数
{
num=`ps -ef | grep $proc_name | grep -v grep | wc -l`
return $num}proc_num number=$?
#获取进程数量
if [ $number -eq 0 ]
#如果进程数量为0then
#重新启动服务器,或者扩展其它内容。
cd /longwen/server/sbin/linux; ./WorldFrame_d -c 1fi
我这个脚本,只是简单的检测了进程是否存在,不存在就自动重启服务器。
这里其实也可以扩展一下,比如对日志文件的处理以及重启时间等的记录等等。
需要注意的是在windows编辑sh文件要注意格式问题(CR/LR),否则容易出现sh执行错误的BUG。
好了,进行测试吧,我这里测试OK,记录一下,希望能帮到其它遇到类似问题的同学。谢谢阅读,希望能帮到大家,请继续关注脚本之家,我们会努力分享更多优秀的文章。
⑷ 求帮忙写一个shell脚本,监控进程的。
#!/bin/sh
ps -ef | grep -v grep || grep -w 'java -jar /opt/mcb/scap/bin/ftp.jar monitor'
if [ $? -eq 0 ]; then
echo "start"
else
java start
fi
⑸ 求:linux 监控shell脚本运行时间
你的意思是某个进程不能不能超过5分钟,否则触发某个事件比如发送邮件或短信?
如果是这样,脚本很好控制
直接在运行前记录一个时间,然后创建一个lock文件
如果脚本完成,删除pid
再sleep 300秒后判断lock文件是否存在,如果不存在,退出,如果存在,报警,退出。