美文网首页
Tomcat配置定时重启

Tomcat配置定时重启

作者: 一介书生独醉江湖 | 来源:发表于2023-07-04 19:44 被阅读0次
1. vim tomcatRestart.sh

#!/bin/bash
# /etc/profile
export JAVA_HOME=/usr/lib/jdk1.8.0_111
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export CATALINA_BASE=/opt/tomcat
export CATALINA_HOME=/opt/tomcat
export CATALINA_TMPDIR=/opt/tomcat/temp
export JRE_HOME=/usr/lib/jdk1.8.0_111/jre

tomcatPath="/opt/tomcat"
binPath="$tomcatPath/bin"
echo "[info][$(date +'%F %H:%M:%S')]正在监控tomcat,路径:$tomcatPath"
pid=`ps -ef | grep $tomcatPath | grep -w $tomcatPath | grep -v 'grep' | awk '{print $2}'`
echo "[-------当前进程号:$pid----------]"
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 10
echo "[-------当前进程号:$pid----------]"
fi
#pid=`ps -ef | grep $tomcatPath | grep -w $tomcatPath | grep -v 'grep' | awk '{print $2}'`
#if [ -n "$pid" ]; then
#echo "[info][$(date +'%F %H:%M:%S')]准备kill进程--------$pid--------"
#kill -9 $pid
#echo "[info][$(date +'%F %H:%M:%S')]kill进程完毕!"
#sleep 5
#else
echo "准备启动tomcat"
#echo "[-------当前进程号:$pid-----没有进程号说明tomcat服务已经停止了-----]"
#$binPath"/startup.sh"
#fi
echo "[info][$(date +'%F %H:%M:%S')]tomcat未启动!"
echo "[info][$(date +'%F %H:%M:%S')]准备启动tomcat..."
$binPath"/startup.sh"
echo "[-------当前进程号:$pid-----tomcat启动成功-----]"

2.修改 tomcatRestart.sh 的权限

sudo chmod 777 tomcatRestart.sh
3. 修改目录权限
chmod 755 /etc
4. 添加脚本到 crontab 定时任务

crontab -e

5. 输入定时执行命令并打印相关日志到某位置

56 17 * * * /opt/tomcat/tomcatRestart.sh >> /opt/tomcat/tomcatRestart.log
--------------------------完毕--------------------------
重设crontab -e的默认编辑器
select-editor

root@huanghetest:/opt/tomcat# select-editor

Select an editor.  To change later, run 'select-editor'.
  1. /bin/nano        <---- easiest
  2. /usr/bin/vim.basic
  3. /usr/bin/vim.tiny
  4. /bin/ed

Choose 1-4 [1]: 3
安装:apt-get install cron
启动:service cron start
重启:service cron restart
停止:service cron stop
检查状态:service cron status
查询cron可用的命令:service cron
检查Cronta工具是否安装:crontab -l

# 测试 每分钟执行一次,将文本“123”写入到testFile文件中
*/1 * * * * echo 123 >> /opt/tomcat/testFile
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中)

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

星号(*)---表示任意值,比如:

30 02 * * * command #每天的2:30执行命令

逗号(,)---表示指定的时间,比如:

30 03 1,16 * * command #每月的1号、16号的3:30分执行命令

斜杠(/)---表示每隔多长时间,比如:

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

横杠(-)---表示连续时间,比如:

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

相关文章

网友评论

      本文标题:Tomcat配置定时重启

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