1、编写重启脚本
nano tomcat_restart.sh
方式(1)先正常shutdown,关闭失败再杀进程
#!/bin/bash . /etc/profile tomcatPath="/home/apache-tomcat-9.0.13" 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命令关闭失败,准备kill进程..." 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"
方式(2)直接杀进程
#!/bin/bash . /etc/profile tomcatPath="/home/apache-tomcat-9.0.13" 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已经启动,准备kill进程..." kill -9 $pid echo "[info][$(date +'%F %H:%M:%S')]kill进程完毕!" sleep 1 else echo "[info][$(date +'%F %H:%M:%S')]tomcat未启动!" fi echo "[info][$(date +'%F %H:%M:%S')]准备启动tomcat..." $binPath"/startup.sh"
chmod +x tomcat_restart.sh
./tomcat_restart.sh
2、创建定时任务
crontab -e
no crontab for root - using an empty one Select an editor. To change later, run 'select-editor'. 1. /bin/ed 2. /bin/nano <---- easiest 3. /usr/bin/vim.basic 4. /usr/bin/vim.tiny Choose 1-4 [2]: 2
每天2点重启
0 2 * * * /root/tomcat_restart.sh >> /root/tomcat_restart.log
重启定时服务
/etc/init.d/cron stop /etc/init.d/cron start
查看任务列表
crontab -l