我的环境是 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数据库

作者:10676
链接:https://www.jianshu.com/p/45455f36e859

编写shell脚本实现tomcat定时重启的方法相关推荐

  1. linux shell脚本攻略_(python)Linux下shell脚本监控Tomcat的状态并实现自动启动步骤...

    今天为大家带来的内容是:(python)Linux下shell脚本监控Tomcat的状态并实现自动启动步骤 本文内容主要介绍了Linux下shell脚本监控Tomcat的状态并实现自动启动的步骤,文章 ...

  2. 教你如何编写shell脚本

    一.shell脚本编程规范 在一些复杂的Linux维护工作,大量重复性的输入与交互操作不但费时费力,而且容易出错,而编写一个恰好片的shell脚本程序,可以批量处理.自动化地完成一系列维护任务,大大减 ...

  3. Tomcat定时重启

    Tomcat定时重启 本文主要是介绍定时重启tomcat7.exe不是tomcat7w.exe下的start 一.原理 1.1原理 编写.bat文件的脚本.通过windows计划任务定期调用执行脚本文 ...

  4. 多宽带联网(三) OpenWrt中使用cURL方法编写Shell脚本自动完成网页宽带认证登录(校园网认证登录解决方案) 使用awk命令

    对于非PPPoE方式认证,而是采用网页认证登录的宽带用户(如校园网).采用<多宽带联网(二)>中的方法一个一个接口进行认证登录过于繁琐.本节将采用Shell脚本和cURL方法,模拟人工认证 ...

  5. 在 Windows 系统上使用 Vim 编写 Shell 脚本并且运行

    1. Windows 下的 PowerShell Shell 既是一种命令语言,也是一种程序设计语言,目前主要用于 Linux 系统. PowerShell 是一种跨平台的任务自动化解决方案,由命令行 ...

  6. Jenkins执行shell脚本启动tomcat失败解决方法

    Jenkins执行shell脚本启动tomcat失败解决方法 参考文章: (1)Jenkins执行shell脚本启动tomcat失败解决方法 (2)https://www.cnblogs.com/wa ...

  7. linux 脚本 lang,golang可以编写shell脚本吗

    golang可以编写shell脚本吗 golang是可以编写shell脚本,首先可以通过创建一个阅读器去访问键盘,每当按下回车键时,任何的写入都会被存储到输入变量中:然后根据出入的数据来执行逻辑运算: ...

  8. 深信服上网行为管理开启snmp_编写SHELL脚本在CACTI中来实现监控深信服上网行为管理的CPU和内存使用情况...

    一.深信服上网行为管理中的SNMP设置 二.在CACTI中编写SHELL脚本如下: cpu oid: .1.3.6.1.4.1.35047.1.3 内存 oid: .1.3.6.1.4.1.35047 ...

  9. linux脚本定时拷贝文件,使用Linux shell脚本实现FTP定时执行批量下载指定文件

    使用FTP定时批量下载指定文件的shell脚本,具体实例介绍如下所示: 1.目标FTP服务器地址 #FTP服务器地址 ip=10.19.15.23 2.FTP账号和密码 u=账号 p=密码 3.使用m ...

最新文章

  1. Xamarin Anroid开发教程之Anroid开发工具及应用介绍
  2. JavaScript——易班优课YOOC课群在线测试自动答题解决方案(十一)恢复右键、选择和复制
  3. P4389 付公主的背包(生成函数/多项式)
  4. 计算机专业可以评机械工程师,机械工程师个人评价
  5. 【Elasticsearch】index [index] blocked by: [TOO_MANY_REQUESTS/12/index read-only / allow delete (api)]
  6. 使用TortoiseSVN下载SourceForge.net上的代码
  7. nyoj 78:圈水池 【凸包入门】
  8. 关于angular开发中报错Cannot find module ‘webpack/lib/node/NodeTemplatePlugin‘问题的解决办法若干
  9. Flash制作(简单)电子相册
  10. 神经网络求解二阶常微分方程(代码)
  11. 网页(HTML)转换为PDF
  12. web页面和ssh登陆到防火墙
  13. 3D GAME PROGRAMMING WITH DIRECTX11(3)
  14. 淘宝/天猫获取商品历史价格信息 API 返回值说明
  15. mysql——关于找不到vrcuntime140.dll与vrcuntime140_1.dll的问题
  16. 几本关于用户体验的书籍
  17. 阿里云HaaS100物联网开发板学习笔记(三)轻应用初步--用js让小灯闪烁起来
  18. 5G NR无线通信频率分配表
  19. Codewars(3)
  20. 关于雅可比矩阵及行列式的理解与学习

热门文章

  1. 情感极性分析:基于情感词典、k-NN、Bayes、最大熵、SVM的情感极性分析
  2. 票据图片复杂表格框识别(票据单元格切割)
  3. 360搜索下拉词下拉框获客方案分享
  4. k8s部署jar包_K8S部署SpringBoot应用_都超的博客-CSDN博客_k8s springboot
  5. python字符串驼峰转换_将字符串转换为驼峰格式
  6. python实现不重复排列组合_Python使用combinations实现排列组合的方法
  7. 网站代码有服务器系统限制吗,服务器内存最大大小限制(示例代码)
  8. 基于MySQL的调度系统_仓储调度系统的设计与实现(SSH,MySQL)
  9. poj 1160 Post Office(DP简单题)
  10. 不再依赖A*,利用C++编写全新寻路算法