最近做服务器端的开发,有一个问题困扰了我很久。需要写一个在服务器端运行的程序,长期驻留的那种,但是在程序更新的时候必要要具备重启功能(因为服务器实在太多,不可能一台一台登陆上去重新启动的)。
初步的思路是:在一个文件中记录程序中一个经常改动文件的最后更新时间,然后脚本定期检测文件的最后更新时间和记录的时间,如果不一样则重新启动程序,基本的脚本如下:
[code="Shell"]#!/bin/sh
time=`date -d now`
#check update
#文件关键文件最后更新时间
lastModifyTime=`stat /home/pplive/monitor/bin/log4j.properties|grep 'Modify'|awk '{print $2 " " $3}'`
#记录的最后更新时间
lastModifyFile=`cat /home/pplive/monitor/lastModifyTime.txt`
if [ "$lastModifyTime" != "$lastModifyFile" ]; then
pid=`ps -ef|grep open.mis.monitor.MainEntrance|grep -v grep|awk '{print $2}'`
kill -9 $pid
/home/monitor/monitor.sh &
echo $time" monitor.sh restart">>/home/pplive/tools/check_monitor.log
echo $lastModifyTime>/home/pplive/monitor/lastModifyTime.txt
else
echo 'ok'
fi
分享到:
相关推荐
Linux系统自动不停重启并计数的shell脚本
linux中java项目需要重启一般使用先找到进程杀掉进程,然后找到项目启动,整个过程不算复杂,但是每次都操作一遍太麻烦,我这里把这个过程整理成shell脚本,大家可以修改里面项目名称,每次直接执行这个命令重启项目...
项目启动、重启、关闭shell脚本实例。用于研发人员打包操作
有些程序在停止之后并没能立即退出,就例如有一个 tomcat 挂了,就算是用 kill -9 命令也还没瞬间就结束掉。 这么如果 shell 还没等其退出就接着执行下一行,这么就出乱子了。 刚知道了原来 shell 也能有 sleep 的...
发现服务超过一个小时不打日志进行重启shell脚本
java项目启动脚本,启动、重启
为了不天天耗在上面等重启,可以制作shell脚本对程序予以监控,对于意外中断的程序自动重启。 以控制 python自动重启的shell脚本为例: cd Desktop vim run.sh #新建名为run的shell脚本 写入(此处以名为run的...
定时启动,* 8,18 * * * /test/test.sh 这里设置每天的上午8点到下午6点之间每分钟执行一次脚本 .../test/test.sh 是shell脚本的绝对路径 设置好后重启crontab服务,命令如下: service crond restart 设置完成
linux 下服务器程序会因为各种原因dump掉,就会影响用户使用,这里提供一个简单的进程监控和重启功能。 实现原理: 由定时任务crontab调用脚本,脚本用ps检查进程是否存在,如果不存在则重启并写入日志。 crontab...
如何保证服务一直运行?如何保证即使服务挂掉了也能自动重启?在写服务程序时经常会碰到这样的问题。在Linux系统中,强大的shell就可以很灵活的处理这样的事务
本shell脚本可以便捷的启动或停止java应用程序包含(spring-boot),且支持重启、停止、查看日志登命令。免去使用kill命令结束进程!
我的配置是linux 64, android4.2.2的sdk。...8.用shell ps循环检测程序是否已退出,若已退出,检查是否sdcard是是否已成功生成报告文件 9.若报告文件不完整,即程序被中止/崩溃,重启activity 10.检测是否
Dim return Set R = CreateObject("WScript.Shell") return=MsgBox ("你确定要重起计算机吗?",vbokcancel+vbexclamation,"注意!") If return=vbok Then R.run("Shutdown.exe -r -t 0") End if
检测完后生成SQL update原纪录3、为了防止PHP程序突然断掉,用shell脚本每隔1分钟检测,PHP挂掉了则重启我使用shell脚本作为守护进程的原因是,手机与邮箱的检测接口速度慢,不可能在1~2天将2000w用户检测完。...
主要为大家分享一个监控linux进程的shell脚本,当程序异常退出时可以自动重启,涉及到捕获进程信号与重启进程的命令与知识
使用Shell脚本通过git更新远程服务器上的rails应用,并执行bundle install、rake db:migration、asset precompile和重启unicorn... 尝试使用Capistrano进行部署,但是遇到了很多问题,比如配置错误、ruby版本不匹配...
Shell脚本语言与编译型语言的差异 17 Shell分类 18 Shell使用 19 项目一 初识Linux Shell 20 [学习目标] 20 任务1.1 构建开发环境 22 任务1.2 vi/vim编辑器 33 1.2.1 vim使用实例 34 1.2.2 vim按键说明 36 任务1.3 ...