centos传统部署下Tomcat自动恢复脚本

    技术2022-08-04  98

    自动恢复Tomcat

    定时任务中定时执行即可,重复性工作尽量交给机器去做,尽量做到代码管业务

    #/bin/bash #2019-1-23

    . /etc/init.d/functions . /etc/profile . /etc/bashrc . /root/.bashrc . /root/.bash_profile

    #设置访问的url ip=127.0.0.1 pid=/usr/local/tomcat/bin bak=/data/backup log=catalina.out lujing=/usr/local/tomcat/logs/ size=`du -s  $lujing$log|awk '{print $1}'` #日志多大进行分割,kb为单位 rz=200000 #日志保留天数 rzbak=15

    [ ! -f /tmp/jktomcat.txt ] && touch /tmp/jktomcat.txt

    pd(){ if [ $? -eq 0 ] then     action "-------- $(date +%F--%R:%S)------ " /bin/true  else     action "-------- $(date +%F--%R:%S)------  " /bin/false fi }

    restart(){        killall -9 java  &>/dev/null        /bin/bash $pid/startup.sh &>/dev/null        pd        exit 1 }

    [ ! -d $bak ] && mkdir -p $bak if [ $size -ge $rz ] then      cd $lujing && tar zcf $bak/$(date +%F)-$RANDOM-$log.tar.gz  $log   && >$lujing/$log     echo "log-$size-$(date +%F--%R:%S)" >>/tmp/jktomcat.txt fi

    find $bak  -name "*.tar.gz" -mtime +$rzbak|xargs rm -rf find $lujing  -name "*log*" -mtime +$rzbak|xargs rm -rf

    pid1=`ps -ef |grep java |grep -v grep |wc -l` if [ $pid1 -eq 0 ] then     restart fi

    zhi=`curl -s -I $ip --speed-time 15|awk 'NR==1{print $2}'` case "$zhi" in     200)    exit 0      ;; 302)    exit 0    ;;   *)    restart     ;; esac   

    Processed: 0.017, SQL: 9