Tomcat在linux环境中开机自启(定时重启)

本文介绍了如何在Linux系统中设置Tomcat开机自动启动,以及如何创建一个.sh脚本并通过crontab进行定时重启。步骤包括编辑rc.local添加JAVA_HOME和启动命令,编写tomcatRestart.sh脚本,修改脚本权限,以及设置crontab定时任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Tomcat开启自启         

        我们经常会遇到服务器断电或异常,而异常后tomcat中部署的web项目需要我手动去启动。为此,特别贡献出Linux环境中Tomcat开机自启的方式供学习使用。

1. 添加JAVA_HOME并配置tomcat自启

vi /etc/rc.local

添加如下语句,路径根据自己的配置路径修改

export JAVA_HOME=/usr/java/jdk1.8.0_221
/usr/local/apache-tomcat-8.5.54/bin/startup.sh start

添加后如下图所示:

 2. 重启服务器测试

执行reboot,重启linux服务器

3. 重启后查看tomcat进程

ps -ef | grep tomcat

 我们可以看到,Tomcat已经启动了。

二、 Tomcat配置定时重启

1. 在某个目录新建一个 .sh 脚本文件

2. 在 tomcatRestart.sh 文件里面写入如下代码(注意:代码中的“tomcatPath”需要自行修改)

vim tomcatRestart.sh
#!/bin/bash
/etc/profile
tomcatPath="/usr/local/apache-tomcat-8.5.54"
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"

 

 3. 修改 tomcatRestart.sh 的权限

sudo chmod 777 tomcatRestart.sh

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

crontab -e

第一次输入该命令后提示选择编辑器

 5. 输入定时执行命令并打印相关日志到某位置(每个月1号,16号的3点30执行)

30 03 1,16 * * /usr/local/timed-task/tomcatStart.sh >> /usr/local/timed-task/ tomcatRestart.log

附:定时任务描述语法

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点之前每隔一小时执行一次命令

### 回答1: 在Linux设备上Tomcat,可以按照以下步骤进行操作: 1. 打开终端或SSH连接到Linux设备; 2. 进入Tomcat的安装目录,通常在 /opt/tomcat/; 3. 运行动脚本,命令为 ./startup.sh; 4. 等待片刻,如果没有报错信息,表示Tomcat已经成功动; 5. 在浏览器中输入服务器IP地址和Tomcat的端口号,例如 http://192.168.0.1:8080/ 就可以访问Tomcat应用程序。 需要注意的是,在Linux设备中Tomcat需要具有管理员权限。另外,如果想要使Tomcat在系统动时自动动,可以将动脚本添加到系统动脚本中。 ### 回答2: 在Linux环境下,可以通过设置系统服务来实现Tomcat开机动。 下面是详细的步骤: 1. 在/bin目录下的tomcat动脚本中增加开机动部分内容。具体位置是在脚本的最下面,可以使用vim或其他编辑器打开脚本进行修改。 增加以下内容: ### BEGIN INIT INFO # Provides: tomcat8 # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: tomcat8 # Description: tomcat8 ### END INIT INFO 2. 将tomcat动脚本复制到/etc/init.d目录下,并重命名为tomcat。复制命令如下: sudo cp /bin/startup.sh /etc/init.d/tomcat 3. 赋予tomcat脚本执行权限: sudo chmod +x /etc/init.d/tomcat 4. 让系统知道有一个新服务就在运行。使用以下命令刷新服务列表: sudo systemctl daemon-reload 5. 开tomcat服务 sudo systemctl enable tomcat 6. 查看Tomcat动状态 sudo systemctl status tomcat 查看Tomcat动日志 tail -f /usr/local/tomcat/logs/catalina.out 以上就是Linux设置Tomcat开机动的详细步骤,按照此步骤进行操作,可以轻松实现开机动。 ### 回答3: Linux是一种开源的操作系统,是应用最广泛的服务器操作系统之一。Tomcat是一种广泛使用的Java Web服务器,为了保证Tomcat服务器Linux系统中开机动,需要进行一些配置。本文将介绍如何在Linux系统中设置Tomcat开机动。 第一步:修改Tomcat动脚本 在Linux系统中,每个服务都有一个动脚本来控制其动和关闭。因此,我们需要修改Tomcat动脚本,使其在开机时自动Tomcat服务。以下是修改Tomcat动脚本的步骤: 1. 以root用户身份登录Linux系统。 2. 找到Tomcat所在的目录,并进入bin目录。 3. 打开startup.sh文件,并将以下代码添加到该文件的最后一行: nohup sh /usr/local/tomcat/bin/startup.sh >/dev/null 2>&1 & 说明:这段代码的含义是,使用nohup命令Tomcat服务,并将输出重定向到/dev/null,以便在后台运行Tomcat服务。 4. 保存并关闭文件。 第二步:添加Tomcat服务到系统动程序 对于使用Systemd 或者 Upstart 动系统的Linux操作系统,需要将Tomcat服务添加到系统动程序中,以确保Tomcat开机时自动动。以下是添加Tomcat服务的步骤: 1. 创建tomcat.service文件: 在systemd系统中,需要在/etc/systemd/system目录下创建一个tomcat.service文件。在Upstart系统中需要在/etc/init目录下创建一个tomcat.conf文件。 2. 编辑tomcat.service文件: 在tomcat.service文件中加入以下内容: [Unit] Description=Tomcat Server After=syslog.target network.target [Service] Type=forking PIDFile=/usr/local/tomcat/bin/catalina.pid ExecStart=/usr/local/tomcat/bin/startup.sh ExecStop=/usr/local/tomcat/bin/shutdown.sh User=root Group=root Restart=on-failure [Install] WantedBy=multi-user.target 这段代码是说明Tomcat服务,向系统提供服务的描述和系统应该如何动它的指令。其中,ExecStart用于Tomcat服务,ExecStop用于关闭Tomcat服务。 3. 保存并关闭文件。 4. 运行以下命令,刷新服务列表并Tomcat服务: systemctl daemon-reload systemctl start tomcat 5. 设置Tomcat服务为开机动: 在systemd系统中,运行以下命令设置Tomcat服务为自动: systemctl enable tomcat 在Upstart系统中,运行以下命令设置Tomcat服务为自动: update-rc.d tomcat defaults 这样,Tomcat服务就会自动开机动了。 总结: 设置Tomcat开机动,需要修改Tomcat动脚本,并将Tomcat服务添加到系统动程序中。在Systemd 和 Upstart系统中分别是创建tomcat.service文件和tomcat.conf文件,并对其进行相应的设置。这样就可以保证TomcatLinux系统中开机动。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值