服务器监控tomcat进程

由于服务器的服务经常被停,现增加定时任务脚本实现服务停后自动启动

1、在编写脚本时在linux环境下写,在windows环境不可用
#!/bin/bash
#tomcat启动脚本
tomcat10001startup=/app/appdev/apache-tomcat-6.0.45/bin/startup.sh
tomcat10002startup=/app/appdev/downloadTomcat/bin/startup.sh
tomcat20003startup=/app/appdev/updateTomcat/bin/startup.sh
ret0=$(/usr/sbin/lsof -i:10001|awk '{printf $2}'|cut -d/ -f1)
ret1=$(/usr/sbin/lsof -i:10002|awk '{printf $2}'|cut -d/ -f1)
ret2=$(/usr/sbin/lsof -i:20003|awk '{printf $2}'|cut -d/ -f1)
#读取文件控制监控服务是否正常运行
flag=$(cat /app/appdev/timmerTask/1.txt)
if [ $flag == 1 ]
then
   #监控10001端口
   if [ $ret0 ]
   then
      sleep 0
   else
      echo "tomcat10001 is stoppped , then start tomcat10001"
      sh $tomcat10001startup; 
   fi

   #监控10002端口
   if [ $ret1 ]
   then
      sleep 0
   else
      echo "tomcat10002 is stoppped , then start tomcat10002"
      sh $tomcat10002startup;
   fi

   #监控20003端口
   if [ $ret2 ]
   then
      sleep 0
   else
      echo "tomcat20003 is stoppped , then start tomcat20003"
      sh $tomcat20003startup;
   fi

else
   sleep 0
fi

注:使用crontab -e 为当前用户添加定时任务时,读取文件时使用文件全路径,使用命令为全路径。

2、安装crontab服务

安装crontab服务
yum install vixie-cron
yum install crontabs
用以下的方法启动、关闭这个cron服务: 
service crond start //启动服务 
service crond stop //关闭服务 
service crond restart //重启服务 
service crond reload //重新载入配置

查看crontab服务状态:service crond status 
手动启动crontab服务:service crond start 
查看crontab服务是否已设置为开机启动,执行命令:ntsysv 
加入开机自动启动: 
chkconfig –level 35 crond on

安装 crontabs服务并设置开机自启:

yum install crontabs
systemctl enable crond
systemctl start crond

3、设置定时任务
vim /etc/crontab
基本格式 :
* * * * * command
分 时 日 月   周   命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令

例子 
5      *       *           *     *     ls         指定每小时的第5分钟执行一次ls命令
30     5       *           *     *     ls         指定每天的 5:30 执行ls命令
30     7       8           *     *     ls         指定每月8号的7:30分执行ls命令
30     5       8           6     *     ls         指定每年的6月8日5:30执行ls命令
30     5       8           6     *     ls         指定每年的6月8日5:30执行ls命令
30     6       *           *     0     ls         指定每星期日的6:30执行ls命令
30     3     10,20         *     *     ls         每月10号及20号的3:30执行ls命令
25     8-11    *           *     *     ls         每天8-11点的第25分钟执行ls命令
*/15   *       *           *     *     ls         每15分钟执行一次ls命令
30     6     */10          *     *     ls         每个月中,每隔10天6:30执行一次ls命令

#加载任务,使之生效
crontab /etc/crontab

#查看任务
crontab -l

注意:
root用户下 输入 crontab -l 显示 
no crontab for root
同样在 root 用户下输入 crontab -e 
按 Esc 按: wq 回车 
在输入 crontab -l 就没有问题了 
主要原因是由于这个liunx服务器 第一次使用 crontab ,还没有生成对应的文件导致的,执行了 编辑(crontab -e)后 就生成了这个文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值