Linux服务器运维:使用Crontab定期清理tomcat日志

xiaoxiao2021-02-28  59

#! /bin/bash tomcat_home=/opt/ssh-tc-server #tomcat_home=/opt/cleanlog/server SHUTDOWN=$tomcat_home/bin/shutdown.sh STARTTOMCAT=$tomcat_home/bin/startup.sh TMPLOGDIR=/oraarch/tmplog date30=$(date -d "30 day ago" +%Y-%m-%d) echo "`date` 关闭tomcat..." >> /opt/cleanlog/restart.log $SHUTDOWN ps -ef |grep tomcat |grep $tomcat_home |grep -v 'grep'|awk '{print $2}' | xargs kill -9 #先使用tomcat本身的shutdown命令关闭,再用杀进程的方式补偿,做到真正关闭tomcat echo "`date` tomcat已关闭" >> /opt/cleanlog/restart.log echo "`date` 清理tomcat日志..." >> /opt/cleanlog/restart.log #删除日志文件 find $tomcat_home/logs/ -mtime +30 -name "*.log" -exec rm -rf {} \; find $tomcat_home/logs/ -mtime +30 -name "*.txt" -exec rm -rf {} \; #find $tomcat_home/logs/ -mtime +30 -name "*.log*" -exec rm -rf {} \; find $tomcat_home/webapps/eapes-service/WEB-INF/logs/ -mtime +30 -name "*.log*" -exec rm -rf {} \; find $tomcat_home/webapps/eapes-web/WEB-INF/logs/ -mtime +30 -name "*.log*" -exec rm -rf {} \; #截断catalina.out echo "`date` -------开始截断catalina.out-------" >> /opt/cleanlog/restart.log echo $date30 >> /opt/cleanlog/restart.log cp /opt/ssh-tc-server/logs/catalina.out /oraarch/tmplog lines=$(grep -n "$date30" "$TMPLOGDIR/catalina.out" |tail -n 1| cut -d ":" -f1) echo $lines if [[ $lines -ge 1 ]] ;then sed -i '1,'$lines'd' $TMPLOGDIR/catalina.out echo "`date` -------Delete Success-------" >> /opt/cleanlog/restart.log else echo "`date` -------No content delete-------" >> /opt/cleanlog/restart.log fi echo "`date` -------结束截断catalina.out-------" >> /opt/cleanlog/restart.log rm -f /opt/ssh-tc-server/logs/catalina.out mv /oraarch/tmplog/catalina.out /opt/ssh-tc-server/logs/ echo "`date` tomcat日志清理完毕" >> /opt/cleanlog/restart.log sleep 5 echo "`date` 启动tomcat..." >> /opt/cleanlog/restart.log cd $tomcat_home/bin ./startup.sh echo "`date` tomcat启动完毕" >> /opt/cleanlog/restart.log #看启动日志 #tail -f $tomcat_home/logs/catalina.out
转载请注明原文地址: https://www.6miu.com/read-63535.html

最新回复(0)