清理日志
我的tomcat目录/home/tomcat,一开始直接在后面加一个启动tomcat的密令,再用定时任务来执行,但是会时不时的出现tomcat启动不起来的问题。
- 创建clear_log.sh
touch clear_log.sh
- 编辑clear_log.sh
vi clear_log.sh
把下面内容粘贴进去,先按ese、再按shift+:、输入wq、最后回车保存。
pkill -9 java &
rm -rf /home/tomcat/logs/* &
touch /home/tomcat/logs/catalina.out
- 设置权限
chmod +x clear_log.sh
进程保活
为了能确保tomcat再每次清理日志后能正常启动,再添加一个tomcat进程保活的脚本。
- 创建static_protect.sh
touch static_protect.sh
- 编辑static_protect.sh
vi static_protect.sh
把以下内容粘贴进去,先按ese、再按shift+:、输入wq、最后回车保存。
#!/bin/sh
TOMCAT_PATH=/home/tomcat #tomcat位置
TOMCAT_BIN_PATH=$TOMCAT_PATH/bin #启动脚本位置
SERVER_NAME=/home/tomcat/bin/tomcat #服务名称,保证唯一
proc_num()
{
num=`ps -ef | grep $SERVER_NAME | grep -v grep | wc -l`
return $num
}
proc_num
number=$?
echo $number
if [ $number -eq 0 ]
then
#开始尝试启动
ps -ef|grep -v grep|grep $SERVER_NAME | grep java |awk '{print "kill -9 "$2}'|sh
sleep 1
set -m
#$TOMCAT_BIN_PATH/startup.sh
/home/tomcat/bin/startup.sh
sleep 50
fi
- 添加权限
chmod +x static_protect.sh
定时任务
最后将上两个脚本添加到定时任务上来执行即可,protect_run.log是日志文件。
crontab -e
把一下内容粘贴进去,先按ese、再按shift+:、输入wq、最后回车保存。
59 03 * * * /bin/bash /root/clear_log.sh >> /root/protect_run.log 2>&1;
*/1 * * * * /bin/bash /root/static_protect.sh >> /root/protect_run.log 2>&1;