写一个脚本,自动启动tomcat
我的服务器是使用tomcat的,时不时tomcat的进程会突然结束掉,不知道为什么,从日志上看也没有任何可疑之处,貌似就这样突然没了,接下来的日志都是重新启动tomcat之后打印的了。原因找不到,但要找变通方法,不要出了问题后总要上服务器去自己重启tomcat。我打算利用系统的cron服务来自动启动tomcat,很简单,大约1分钟检查一次tomcat的进程,如果没有,就启动之,脚本如下:
#!/bin/bash
export JRE_HOME=/usr/local/jre
if [ `ps -ef | egrep 'tomcat' | egrep -v egrep | wc -l` -gt ]; then
exit
fi
echo `date`" tomcat restart" >> ~/shell/tomcat_restart.log
/usr/local/tomcat/bin/startup.sh
写这个脚本的时候千万注意:空格不要乱加!shell编程和别的编程不太一样,空格有特殊含义。脚本在启动tomcat的时候,会打印一个log,到~/shell/tomcat_restart.log中,其中包括了一个时间信息,方便我去查找原因(虽然我现在还是找不到原因)。
接下来就是配置crontab。
$crontab -e
然后编辑内容为(假如你的shell文件保存在~/shell/check_and_start_server.sh):
* * * * * ~/shell/check_and_start_server.sh
保存并退出crontab的编辑,然后启动cron服务:
/etc/init.d/crond start
这样一来,每一分钟,cron服务就会执行一次检查。启动tomcat大约需要10秒钟,所以最坏的情况是你的服务器可能会中断1分钟多一点的时间(考虑服务器是在14:20:01秒退出的,cron服务刚检查过,下次检查是14:21:00,这时候启动tomcat,大约到14:21:10这样启动完成)。
写一个脚本,自动启动tomcat的更多相关文章
- python 学习笔记 12 -- 写一个脚本获取城市天气信息
近期在玩树莓派,前面写过一篇在树莓派上使用1602液晶显示屏,那么可以显示后最重要的就是显示什么的问题了. 最easy想到的就是显示时间啊,CPU利用率啊.IP地址之类的.那么我认为呢,假设可以显示当 ...
- SHELL脚本学习-练习写一个脚本4
#编写一个脚本时,自动生成”#!/bin/bash”这一行和相关注释信息. 把以下的代码保存为一个sh文件,比如test.sh , 新建脚本是使用 bash test.sh newfile 即可. ...
- 手写一个简易版Tomcat
前言 Tomcat Write MyTomcat Tomcat是非常流行的Web Server,它还是一个满足Servlet规范的容器.那么想一想,Tomcat和我们的Web应用是什么关系? 从感性上 ...
- shell脚本学习-练习写一个脚本2
# 1.依次展示/var目录下的对象,并说明是文件或者目录.格式如:Hello,$file. # 2.统计一个有多少个文件. #!/bin/bash #Program Description: #Au ...
- shell脚本学习-练习写一个脚本1
# 1.依次展示/etc/passwd中的用户名和UID.格式如:Hello,$USER,your UID is $UID. # 2.统计一个有多少个用户 #!/bin/bash #Program D ...
- SHELL脚本学习-练习写一个脚本3
#通过ping命令测试192.168.1段的所有主机是否在线,如果在线就显示is up并显示蓝色,如果不在线就显示is down. #!/bin/bash #Program Description: ...
- 写一个脚本批量转换项目中GB2312编码的文件为UTF-8编码
#!/bin/bash convert_file() { for file in `find .` do if [[ -f $file ]] then if [[ ${file##*.} == lua ...
- 学习Windows(BAT)、Linux(Shell)编程,并分别写一个脚本文件解决自己的一个问题
delete: @echo off echo Press any key to delete this file.pause del %0 ip: @echo off color a Title 端口 ...
- [uiautomator篇] [4] 运行成功的日志打印---最后写一个脚本来实现
Testing started at 18:23 ... 05/10 18:23:01: Launching ChangeTextBehaviorTestNo apk changes detected ...
随机推荐
- Mac下没有权限启动tomcat的解决办法
问题描述 在Mac中通过./startup.sh执行启动脚本文件,启动tomcat时报如下错误: -bash: ./startup.sh: Permission denied 解决方法 错误信息说明了 ...
- RANSAC算法笔记
最近在做平面拟合,待处理的数据中有部分噪点需要去除,很多论文中提到可以使用Ransac方法来去除噪点. 之前在做图像配准时,用到了Ransac算法,但是没有去仔细研究,现在好好研究一番. 参考: ht ...
- 用opencsv文件读写CSV文件
首先明白csv文件长啥样儿: 用excel打开就变成表格了,看不到细节 推荐用其它简单粗暴一点儿的编辑器,比如Notepad++, csv文件内容如下: csv文件默认用逗号分隔各列. 有了基础的了解 ...
- 在wex5平台grid显示问题
新建的时候必须自动生成一个主表id,然后grid里面的column里面的editable必须是true,input里面的bind-ref得绑定值.
- IIS 图片加载不出来
如何为IIS增加svg和woff格式文件的支持 在我们新版的TopFlow中,使用了最新的bootstrap框架,此框架使用了字体文件来显示矢量的图标,为了能在IIS上正常显示图标,可以通过增加iis ...
- 丢手帕问题即约瑟夫问题的PHP解法
问题描述:n个人排成一圈.从某个人开始,依次报数,数到m的人被杀死.下一个人重新从1开始报数,数到m的人被杀死.直到剩下最后一个人. 解决思路:从数学角度去看,每一次报数决定谁去死是一个n.m的求余数 ...
- ubuntu 安装phpstorm
1.清除 sudo apt-get purge openjdk* 2.添加源及更新源列表 sudo add-apt-repository ppa:webupd8team/java sudo apt-g ...
- acm入门 杭电1001题 有关溢出的考虑
最近在尝试做acm试题,刚刚是1001题就把我困住了,这是题目: Problem Description In this problem, your task is to calculate SUM( ...
- OCIEnvNlsCreate 失败,返回代码为 -1,但错误消息文本不可用
通过Navicat for Oracle能连接成功,增删改查正常,可一用到ADO.NET就报这个错误. 原来我一开始是用“管理员”方式安装的Client,后来用“InstantClient”方式重装就 ...
- css 浅析display属性
继续开始我的css之旅吧.今天我们来说什么啊.构思了两天还是没有什么思路,但是学习的步伐我们不能停止下来.还是按照之前的计划来讲讲display,在讲这个之前我们还是按照老规矩来扯扯蛋,步子不能够迈大 ...