iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >Linux系统上实现定时重启Tomcat服务脚本介绍
  • 191
分享到

Linux系统上实现定时重启Tomcat服务脚本介绍

Linux定时重启tomcatLinux定时重启 2022-06-04 23:06:37 191人浏览 八月长安
摘要

目录一、创建shell脚本二、修改文件权限三、建立定时任务四、定时任务描述语法1. 星号(*)2. 逗号(,)3. 斜杠(/)4. 横杠(-)五、其他因为使用阿里云部署服务器应用时,Tomcat服务经常由于内存不足出现O

目录
  • 一、创建shell脚本
  • 二、修改文件权限
  • 三、建立定时任务
  • 四、定时任务描述语法
    • 1. 星号(*)
    • 2. 逗号(,)
    • 3. 斜杠(/)
    • 4. 横杠(-)
  • 五、其他

    因为使用阿里云部署服务器应用时,Tomcat服务经常由于内存不足出现OutOfMemoryError异常的情况。经常过几天就需要重启一次服务器,更要命的是不知道什么时候会由于内存不足导致无法访问,如果重启不及时严重影响系统体验。

    为了解决上述问题,一方面是对tomcat配置做一些优化,网上有很多文章讲解如何优化Tomcat内存设置;另一方面就是写一个shell脚本,每天定时重启Tomcat服务。这里主要记录一下如何写shell脚本并且配置定时任务。本人使用的环境是阿里云ubuntu服务器,以下配置在阿里云的Ubuntu服务器上能正常运行。

    一、创建Shell脚本

    新建一个tomcat.sh文件,输入以下内容:

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

    脚本的逻辑比较简单,先查看tomcat进程是否存在,如果不存在则直接调用startup.sh命令启动tomcat,如果tomcat的进程存在则调用shutdown.sh命令停掉tomcat服务,有时会关闭失败,所以在检查一下tomcat进程时候还存在,如果存在就使用kill命令杀掉该进程,然后启动tomcat。
    这里有一个地方需要注意,第二行代码(. /etc/profile)不能省掉,需要将环境变量引入到当前脚本环境中,要不然会导致启动定时任务时运行脚本失败,会报以下错误:

    
    Neither the java_HOME nor the JRE_HOME environment variable is defined At least one of these environment variable is needed to run this program

    二、修改文件权限

    要让脚本可以执行,当然要把文件设置为可执行文件了。

    
    chmod 777 tomcat.sh

    三、建立定时任务

    在控制台上输入使用crontab -e 命令进入编辑crontab脚本,第一次输入该命令时需要选择编辑器。

    Linux系统上实现定时重启Tomcat服务脚本介绍

    选择vim编辑器编辑就可,在文件后面增加一条任务。(我的脚本文件路径是:/home/script/tomcat.sh)

    Linux系统上实现定时重启Tomcat服务脚本介绍

    然后保存并退出即可,接着使用crontab -l命令即可看到刚才新增的定时任务在列表里面。一般情况是直接生效,如果没有生效可以使用sudo service cron restart命令重启定时任务。

    
    sudo service cron restart

    四、定时任务描述语法

    crontab中每一个定时任务的格式由6部分组成,分别是分钟、小时、天、月、星期以及命令,前5部分用来配置任务触发时机,中间使用空格隔开,如下:
    minute hour day month dayofweek command

    minute – 表示分钟,值的范围是从0到59的整数

    hour – 表示小时,值的范围是从0到23的整数

    day – 表示天,值的范围是从1到31的整数

    month – 表示月,值的范围是从1到12的整数

    dayofweek – 表示星期,值的范围是从0到6的整数 (0表示周日)

    command – 需要执行的命令(/home/script/tomcat.sh > /home/script/shlog.txt表示执行tomcat.sh脚本,并且把结果日志打印到shlo.txt中)

    时间部分除了使用估计数字以外还可以配合星号(*),逗号(,),斜杠(/),横杠(-)组合来表示其他意义。

    1. 星号(*)

    表示任意值,比如:

    
    30 01 * * * command #每天的1:30执行命令

    2. 逗号(,)

    表示指定的时间,比如:

    
    30 01 1,10,20 * * command #每月的1号、10号、20号的1:30分执行命令

    3. 斜杠(/)

    表示每隔多长时间,比如:

    
    * */2 * * * command #每个2小时执行一次命令

    4. 横杠(-)

    表示连续时间,比如:

    
    * 1-7/1 * * * command #凌晨1点-7点之前每隔一小时执行一次命令

    五、其他

    到此这篇关于linux系统上实现定时重启Tomcat服务脚本介绍的文章就介绍到这了,更多相关Linux系统 定时重启Tomcat内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

    --结束END--

    本文标题: Linux系统上实现定时重启Tomcat服务脚本介绍

    本文链接: https://www.lsjlt.com/news/21393.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • 如何编写shell脚本实现tomcat定时重启
      小编给大家分享一下如何编写shell脚本实现tomcat定时重启,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!于是我上网找了一些教程编写了一个简单的每天定时启动 ...
      99+
      2023-06-09
    • Linux中怎么定时重启Tomcat服务
      本篇文章给大家分享的是有关Linux中怎么定时重启Tomcat服务,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、编写tomcat_shutdown.sh:#!/bin/sh...
      99+
      2023-06-13
    • Linux系统如何使用shell脚本定时任务
      这期内容当中小编将会给大家带来有关Linux系统如何使用shell脚本定时任务,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。定时任务是Linux系统运维人员常用的一种技术手段,使用定时任务可以简化那些繁琐...
      99+
      2023-06-28
    • WindowsBat脚本实现定时重启应用程序的项目实践
      目录关闭和重启应用程序脚本1、执行流程:2、tasklist杀死线程基本命令3、设置定期任务关闭和重启应用程序脚本 @echo off echo "killing appli...
      99+
      2024-04-02
    • Windows中Bat脚本如何实现定时重启应用程序
      这篇文章主要为大家展示了“Windows中Bat脚本如何实现定时重启应用程序”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Windows中Bat脚本如何实现定时重启应用程序”这篇文章吧。关闭和重...
      99+
      2023-06-29
    • PHP Linux脚本操作实践:实现定时任务
      在开发和管理Web应用程序时,我们经常需要执行一些定时任务来自动化一些重复、耗时的任务,如备份数据、生成报表等。在Linux系统中,我们可以利用crontab来管理定时任务。本文将介绍如何使用PHP脚本来操作Linux系统的定时任务,并提供...
      99+
      2023-10-21
      定时任务 PHP: 脚本
    • Linux 服务器重启之后执行指定脚本文件
      有些时候,我们部署服务、中间件、数据库等应用的机器可能会因为机房停电、断电而宕机,这样大部分服务就随之关闭了,可能会需要手动去进行重启,我们可以通过 Linux 的开机启动来实现服务自动重启。 ...
      99+
      2023-09-11
      服务器 linux 运维
    • linux环境下如何编写shell脚本实现启动停止tomcat服务
      小编给大家分享一下linux环境下如何编写shell脚本实现启动停止tomcat服务,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!以管理员的身份进入控制台,在指定...
      99+
      2023-06-09
    • 如何实现Shell脚本注册到Linux系统服务
      本篇内容介绍了“如何实现Shell脚本注册到Linux系统服务”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!注册一个系统服务,开机自启动.1...
      99+
      2023-06-09
    • 如何使用vbs实现一个定时关机或重启的脚本
      这篇文章主要介绍了如何使用vbs实现一个定时关机或重启的脚本,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。dim ActionID ActionID =&...
      99+
      2023-06-08
    • 如何编写Shell脚本实现温和方式重启Centos系统
      本篇内容介绍了“如何编写Shell脚本实现温和方式重启Centos系统”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!主要目的是用于重启后台比...
      99+
      2023-06-09
    • Linux中VPS服务器如何依据系统资源自动重启bash shell脚本
      这篇文章给大家分享的是有关Linux中VPS服务器如何依据系统资源自动重启bash shell脚本的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。这里介绍有2种不同的操作:1、监控 linux 服务器负载及内存占用...
      99+
      2023-06-13
    • windows下Tomcat6定时重启服务实现步骤
      首先,创建 tomcat6 服务: service install tomcat6 (1) 新建 重启服务的脚本,tomcat_restart.BAT @echo restart tomcat6 service, log...
      99+
      2023-05-30
      windows Tomcat6 重启服务 步骤
    • Linux之service服务-实现程序脚本开机自启
      一、什么是.service文件?         Linux中.service文件是某项服务对应的配置文件,可用于systemd管理和控制的服务的设置。         .service 文件通常包含3个模块: [Unit] 控制单...
      99+
      2023-09-16
      linux 服务器 运维 网络
    • 【Linux】在服务器上创建Crontab(定时任务),自动执行shell脚本
      业务场景:该文即为上次编写shell脚本的姊妹篇,在上文基础上,将可执行的脚本通过linux的定时任务自动执行,节省人力物力,话不多说,开始操作! 一、打开我们的服务器连接工具 连上服务器后,在...
      99+
      2023-09-23
      服务器 linux 运维
    • shell脚本怎么实现监控php-fpm并自动重启服务
      这篇文章主要讲解了“shell脚本怎么实现监控php-fpm并自动重启服务”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“shell脚本怎么实现监控php-fpm并自动重启服务”吧!脚本代码:...
      99+
      2023-06-09
    • Go 缓存系统的架构设计:重定向和 Bash 脚本的实现方法
      在计算机科学领域,缓存系统是一种常见的技术,用于提高系统的性能和响应速度。在 Go 语言中,有许多优秀的缓存系统,其中一些基于内存,而另一些则基于磁盘或者网络存储。本文将介绍一种基于内存的缓存系统,它使用重定向和 Bash 脚本来实现。 ...
      99+
      2023-08-28
      缓存 重定向 bash
    • 如何使用shell脚本实现连接并重启远程服务器
      这篇文章给大家分享的是有关如何使用shell脚本实现连接并重启远程服务器的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。shell重启远程服务器#connServer.sh 登陆服务器脚本 本地...
      99+
      2023-06-09
    • linux中如何实现bash脚本监控启动停止weblogic服务
      这篇文章给大家分享的是有关linux中如何实现bash脚本监控启动停止weblogic服务的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。有时,linux系统需要做HA或者类似的功能,需要配置weblogic脚本来...
      99+
      2023-06-09
    • Linux系统开启telnet服务实现步骤是什么
      这篇文章主要为大家分析了Linux系统开启telnet服务实现步骤是什么的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“Linux系统开启telnet服务实现...
      99+
      2023-06-28
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作