您现在的位置是:网站首页 > 代码编程 > 服务器服务器
【原】Shell脚本监控Linux进程状态,定时监测进程被关闭后自动重启
不忘初心 2019-07-03 围观() 评论() 点赞() 【服务器】
简介:linux服务器上部署的tomcat服务,偶尔会因为内存不够等原因被系统kill掉,每次手动重启很麻烦,今天来写一个shell脚本定时监测进程状态,如果下次再被干掉了就自动重启。
linux服务器上部署的tomcat服务,偶尔会因为内存不够等原因被系统kill掉,每次手动重启很麻烦,今天来写一个shell脚本定时监测进程状态,如果下次再被干掉了就自动重启。
1、新建restart.sh
[root@VM_41_196_centos ~]# cd /usr/local/
[root@VM_41_196_centos local]# vim restart.sh
[root@VM_41_196_centos local]#
2、权限设置744
[root@VM_41_196_centos local]# chmod 744 restart.sh
[root@VM_41_196_centos local]#
* 需要注意定时任务的用户有没有运行权限
3、编辑restart.sh文件
#!/bin/sh
export LANG="en_US.UTF-8"
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/dt.jar:$JAVA_HOME/tools.jar
#java
jarDir="/usr/local/test"
jar="test.jar"
logFile="/usr/local/test/logs/restart.log"
restart(){
cd ${2}
if [ ! -f ${1} ];then
echo "jar not exist" >> ${logFile}
return
fi
(java -jar ${1} &)
# iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
}
check(){
count=$(ps -ef | grep ${1} | grep -v "grep")
if [ -n "${count}" ];then
#echo "`date` ${1} is running" >> ${logFile}
echo "`date` ${1} s running"
else
restart ${1} ${2}
echo "`date` ${1} is down. restartig" >> ${logFile}
#echo "`date` ${1} is down"
fi
}
check ${jar} ${jarDir}
4、执行脚本,检查是否正常
[root@VM_41_196_centos local]# ./restart.sh
[root@VM_41_196_centos local]#
如果报错 bin/sh^M: bad interpreter: No such file or directory,那是因为你的 .sh脚本在windows系统下用记事本文件编写,不同系统的编码格式引起的。
解决方法:
(1)使用vi工具
[root@VM_41_196_centos local]# vim restart.sh
(2)利用set命令查看文件格式
:set ff
或
:set fileformat
可以看到如下信息:
fileformat=dos
或
fileformat=unix
这一步一定要按照这个来,vim之后,直接 :set ff,然后回车
(3) 利用set命令修改文件格式
:set ff=unix
或
:set fileformat=unix
保存
:wq
注:其实,在windows下通过git bash可以直接编写unix格式.sh!
5、加入系统定时任务
每小时检查jar包运行,如果退出重启
[root@VM_41_196_centos local]# crontab -e
添加自己的任务
* */1 * * * /bin/sh /usr/local/restart.sh
看完文章,有任何疑问,请加入群聊一起交流!!!
很赞哦! ()
相关文章
标签云
猜你喜欢
- IntelliJ IDEA 2019.2已经可以利用补丁永久破解激活了
- IntelliJ IDEA 2019.3利用补丁永久破解激活教程
- IntelliJ IDEA高版本最灵活的永久破解激活方法(含插件激活,时长你说了算)
- Jetbrains全家桶基于ja-netfilter的最新破解激活详细图文教程
- IntelliJ IDEA 2022.1永久破解激活教程(亲测可用,持续更新)
- 分享几个正版 IntelliJ IDEA 激活码(破解码、注册码),亲测可用,持续更新
- ja-netfilter到底需不需要mymap,2021.3.2版本激活失效?
- 如何激活idea2022.1及以上版本中的插件(亲测可用)
- 【史上最全】IntelliJ IDEA最新2022.1版本安装和激活视频教学(含插件)
- IntelliJ IDEA 2022.2 版本最新2099年永久激活方法,亲测可用,也可以开启新UI了。
站点信息
- 网站程序:spring + freemarker
- 主题模板:《今夕何夕》
- 文章统计:篇文章
- 标签管理:标签云
- 微信公众号:扫描二维码,关注我们