Linux Shell脚本实现检测tomcat

Linux Shell脚本检测tomcat并自动重启

后台运行命令 sh xxx.sh &
查看后台任务:jobs
召唤到前台:fg jobs编号

可以删掉while循环的代码放到crontab里面定时执行,可以将脚本直接后台运行,

#!/bin/bash
while [ true ]
do
    url="http://www.jb51.net/";
    httpOK=`curl --connect-timeout 10 -m 60 --head --silent $url | awk 'NR==1{print $2}'`;
    if [ $httpOK == "200" ];then
        tomcat6=`ps -ef | grep tomcat | awk 'NR==1{print $1" "$2;}'`;
        user=`echo $tomcat6 | awk 'NR==1{print $1}'`;
        pid=`echo $tomcat6 | awk 'NR==1{print $2}'`;
        if [ $user != "tomcat" ]; then
            service tomcat6 start;
        else
            kill -9 $pid;sleep 5s;service tomcat6 start;service tomcat6 start;service tomcat6 status;
        fi;
    fi;
    sleep 5m;
done;

以上所述就是本文的全部内容了,希望大家能够喜欢。

(0)

相关推荐

  • Linux下启动tomcat的方法

    tomcat是随机启动的,所以在开启服务器的时候要手动开启tomcat,不然没法访问(网上说可以设置随着服务器开启而开启,我还不会妮...) 1:找到tomcat安装路径 [root@localhost ~]# cd .. (返回上一级目录) [root@localhost /]# ls        (列出该目录下的所有文件) bin   dev  home  lib64       media  mnt  opt   root  selinux  sys       tmp  var boo

  • Linux下Tomcat+Nginx服务器环境安装配置的简明教程

    一.安装 1.安装JDK 下载的jdk文件为:jdk-6u45-linux-x64.bin,执行如下命令进行安装: #./jdk-6u12-linux-i586.bin 2.安装tomcat: #tar zxvf apache-tomcat-6.0.18.tar.gz #mv apache-tomcat-6.0.29 tomcat 这里我将解压后的apache-tomcat-6.0.29重命名为了tomcat方便操作. 3.配置环境变量: 编辑/etc下的profile文件,加上如下内容: JA

  • 详解阿里云Linux启动tomcat并能外网访问

    问题描述: 先描述一下我的心路历程吧,新买了阿里云服务器,由于需求不是很大,只是为了备案,所以买了个最低配的,而且是Windows server2012的.那现在需要做的是在这个乞丐版的server上,第一个比较恶心的问题,阿里云能卖个Windows server的,却安装不上一个IIS,真是醉了.一安装就提示存储空间不足.那好不用windows了,我换成Linux,但是这个Linux我选择的系统是CentOS 6.5 64位,这个是之前买的直接能用的,就是什么都不用修改的,直接的默认页面是能通

  • linux设置tomcat自启动的方法

    linux设置tomcat自动启动在centos下,开机后会自动执行/etc/rc.local中的命令,平时启动tomcat的命令为tomcat_home/bin/startup.sh或tomcat_home/bin/catalina.sh start,当直接把他们任何一个加入到/etc/rc.local中,重启机器后发现tomcat并没有启动.原因是开机时java的环境还没有设置好,故自己写一个脚本,先设置java环境,然后在启动,脚本如下: 复制代码 代码如下: export JAVA_HO

  • Linux tomcat下catalina.out日志文件分割

    Linux tomcat下catalina.out日志文件分割 前言: tomcat默认使用Java.util.logging记录日志,默认只记录tomcat的日志,不记录应用的日志.tomcat支持采用log4j进行日志记录,配置方法如下: 1.更新最新的tomcat_juli.jar包到./bin/目录下: 2.拷贝log4j.jar,lo4j.properties到./lib目录下; 3.删除./conf/logging.properties 4.重启 log4j配置样本 实例代码: lo

  • Linux小技巧分享之如何重新启动tomcat

    1. 进入linux系统下tomcat的bin目录, 比如:cd /usr/local/apache-tomcat-7.0.42/bin 2. 关闭一下tomcat服务,特别是已经启动的情况下,只不过有些异常 ./shutdown.sh 3. 检查一下tomcat是否确实已经关闭 ps -ef|grep java 假如出现以下类似的提示,表示tomcat已经关闭 root     30248 30113  0 10:00 pts/0    00:00:00 grep java 4. 最后重新启动

  • 图解linux安装tomcat(附常用命令)

    本例使用的是centos6.5版本,具体内容如下 一.首先到官方下载tomcat服务 http://tomcat.apache.org/download-70.cgi 二.将tomcat上传至linux服务器中 本人在根目录下建立了一个rommr文件夹 一般放到/usr/目录下,看自己了. 开始安装步骤 1.获取权限:chmod +x apache-tomcat-7.0.67.tar.gz 2.解压:tar zxvf apache-tomcat-7.0.67.tar.gz 3.重命名:mv ap

  • Linux下把tomcat日志按日期自动分割

    Linux中tomcat日志分割需要用到cronolog 附上cronolog-1.6.2.tar.gz 1. 安装cronolog tar –zxvf cronolog-1.6.2.tar.gz ./configure && make && make install 解压,编译, 安装 (安装后目录一般在/usr/local/中) 2. 为了能够一次正确通过还是验证一下是在哪个目录 which cronolog 3.修改catalina.sh脚本 vim /usr/loc

  • Linux Shell脚本实现检测tomcat

    Linux Shell脚本检测tomcat并自动重启 后台运行命令 sh xxx.sh & 查看后台任务:jobs 召唤到前台:fg jobs编号 可以删掉while循环的代码放到crontab里面定时执行,可以将脚本直接后台运行, #!/bin/bash while [ true ] do url="http://www.jb51.net/"; httpOK=`curl --connect-timeout 10 -m 60 --head --silent $url | awk

  • shell脚本自动检测网络掉线和自动重连

    在ppp移植成功后,有时会出现ppp掉线等情况.这篇文章写了一个自动检测连接网络的解决方法. 创建一个shell脚本,在里面添加一下内容.(记得给操作权限) #!/bin/sh //根据你自己的shell类型来选择. while true //先做一个死循环 do ping -c 3 -I ppp0 172.16.1.11 >/dev/null //指定一个出口去ping服务器的局域网ip,将结果重定向到/dev/null里. //-c 3 是指ping执行3次后结束. //-w 3 是指pin

  • 使用Linux shell脚本实现FTP定时执行批量下载指定文件

    使用FTP定时批量下载指定文件的shell脚本,具体实例介绍如下所示: 1.目标FTP服务器地址 #FTP服务器地址 ip=10.19.15.23 2.FTP账号和密码 u=账号 p=密码 3.使用mget结合正则表达式下载文件 #获取昨天日期,为后面下载使用 T=`date -d yesterday +%Y%m%d` 4.连接FTP服务器,到指定路径下下载文件 ftp -n <<EOF open $ip user $u $p binary cd /hour #远程服务器文件目录 lcd /h

  • Linux shell脚本输出日志笔记整理(必看篇)

    1.日志方法简介: #日志名称 log="./upgrade.log" #操作日志存放路径 fsize=2000000 #如果日志大小超过上限,则保存旧日志,重新生成日志文件 exec 2>>$log #如果执行过程中有错误信息均输出到日志文件中 #日志函数 #参数 #参数一,级别,INFO ,WARN,ERROR #参数二,内容 #返回值 function zc_log() { #判断格式 if [ 2 -gt $# ] then echo "parameter

  • Linux shell脚本基础学习详细介绍(完整版)第1/2页

    Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提. 1. Linux 脚本编写基础 ◆1.1 语法基本介绍1.1.1 开头程序必须以下面的行开始(必须方在文件的第一行):#!/bin/sh符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例子中我们使用/bin/sh来执行程序.当编辑好脚本时,如果要执行该脚本,还必须使其可执行.要使脚本可执行:编译

  • Linux Shell 脚本编程入门教程

    从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁.用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作.在Linux GUI日益完善的今天,在系统管理等领域,Shell编程仍然起着不可忽视的作用.深入地了解和熟练地掌握Shell编程,是每一个Linux用户的必修 功课之一. Linux的Shell种类众多,常见的有:Bourne Shell(/usr/bin/sh或/bin/sh).Bourne

  • 在linux shell脚本中root切换到普通用户执行脚本或命令的方法

    需求: 安装deb包,设置程序安装后启动,不需要root权限启动程序 | 不能用root权限启动 其他开机启动选项 方法:root临时降低权限 secUser=`who am i | awk '{print $1}'` #echo $secUser su $secUser -c <指令> > /dev/null 2>&1 & #这一条命令的执行权限是临时的,只在本条语句起作用 id -u # 结果为0,还是root用户权限 附: su --help -c, --co

  • linux shell脚本对未定义变量的判断以及if的用法详解

    环境 操作系统:win10 虚拟机:centos7 需求 因为公司有个脚本,是用于启动程序的,但是每次启动都要手动做如下两个操作: ①先查询之前的进程ID ②杀死之前的,在启动新了 时间长了弄得我很烦躁,所以就琢磨下,把上面的的操作一起整合到启动脚本里去. 最开始我是这么写的: #!/bin/bash echo "ggjob-search..." pid=`ps -ef|grep -w ggjob-search|grep -v grep|grep -v ggjob-search.sh|

  • Linux Shell脚本中获取本机ip地址方法

    方法一:ifconfig -a ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:" 命令解析 ifconfig -a  和window下执行此命令一样道理,返回本机所有ip信息 grep inet                  截取包含ip的行 grep -v 127.0.0.1      去掉本地指向的那行 grep -v inet6             去掉

  • Linux Shell脚本多命令执行逻辑的示例详解

    目录 简介 一.分号 二.&& 三.|| 案例剖析 简介 Linux 中可以使用分号";“.双and号”&&“和双竖线”||"来连接多个命令.根据场景的不同适当的使用合适的符号. 历史攻略 python:执行dos命令.Linux命令 命令连接符解析: 仅连接,表示运行先后,无逻辑关系:分号";",如command1 ; command2 逻辑与关系:&&,如command1 && command2 逻

随机推荐