美文网首页
编写shell脚本实现tomcat定时重启的方法

编写shell脚本实现tomcat定时重启的方法

作者: 10676 | 来源:发表于2021-02-22 10:13 被阅读0次

    我的环境是 centos 7

    1、 在某个目录新建一个 .sh 脚本文件(一般cron安装在var/spool/cron这里,于是我就将脚本创建在这)

    vim  /var/spool/cron/tomcatStart.sh
    

    2、 在 tomcatStart.sh 文件里面写入一下代码

    #!/bin/bash
    /etc/profile
    tomcatPath="/usr/local/tomcat"
    binPath="$tomcatPath/bin"
    echo "[info][$(date)]正在监控tomcat,路径:$tomcatPath"
    pid=`ps -ef | grep tomcat | grep -w $tomcatPath | grep -v 'grep' | awk '{print $2}'`
    if [ -n "$pid" ]; then
    echo "[info][$(date)]tomcat进程为:$pid"
    echo "[info][$(date)]tomcat已经启动,准备使用shutdown命令关闭"
    $binPath"/shutdown.sh"
    sleep 2
    pid=`ps -ef | grep tomcat | grep -w $tomcatPath | grep -v 'grep' | awk '{print $2}'`
    if [ -n "$pid" ]; then
    echo "[info][$(date)]使用shutdown关闭失败,准备kill进程"
    kill -9 $pid
    echo "[info][$(date)]kill进程完毕"
    sleep 1
    else
    echo "[info][$(date)]使用shutdown关闭成功"
    fi
    else
    echo "[info][$(date)]tomcat未启动"
    fi
    echo "[info][$(date)]准备启动tomcat"
    $binPath"/startup.sh"
    

    注意:if [ -n "$pid" ]; then,这个语句中括号“[”后边一定要有空格,"]"前边一定要有空格

    3、 修改 tomcatStart.sh 的权限

     chmod +x   /var/spool/cron/tomcatStart.sh
    

    4、添加脚本到 crontab 定时任务

    vi /etc/crontab
    

    // 第一个是 tomcatStart.sh 的路径, 第二个是将日志输出到某个文件中

    00 03 * * * root   /var/spool/cron/tomcatStart.sh >> /usr/local/tomcat/tomcatStartLog.txt
    

    5、重启一下 crontab 以生效

    systemctl restart crond
    

    或者

    service crond restart 
    
    注意:if [ -n "$pid" ]; then,这个语句中括号“[”后边一定要有空格,"]"前边一定要有空格
    注:定时器等操作不详细介绍,具体请参考linux定时备份MySQL数据库

    相关文章

      网友评论

          本文标题:编写shell脚本实现tomcat定时重启的方法

          本文链接:https://www.haomeiwen.com/subject/rbtiwktx.html