设为首页 收藏本站
查看: 1633|回复: 0

[经验分享] cronolog切割tomcat日志以及日志导出方法

[复制链接]

尚未签到

发表于 2018-12-7 09:03:30 | 显示全部楼层 |阅读模式
          针对现有机器tomcat日志随着时间的延长,积累的日志达到几个G甚至更多(一台机器的全部的日志全部集中在一起),想导出某时间段的日志,通过导出脚本发现速度非常慢,而且服务器的压力会很大。
          解决办法:通过日志切割工具cronolog将日志按照以天为单位输出,保存成不同的文件。这样导出日志的时候只要指定日期,导出将会很快。
  步骤:
  1、cronolog的安装(安装方法很简单)
  #tar -zxvf cronolog-1.6.2.tar.gz
  #cd cronolog-1.6.2
  #./configure
  #make && make install
  #which cronolog
    /usr/local/sbin/cronolog
  到此cronolog的安装已经完成,验证成功
  2、配置tomcat切割对cronolog的应用
  注:为了方便将多个tomcat的日志放在一起,方便管理(下面的路径只是参照)
  #cd /data/install/tomcat7cluster/tomcats/tomcat_8181/
  #cd bin/
  #vim catalina.sh
touch "$CATALINA_OUT"
  if [ "$1" = "-security" ] ; then
    if [ $have_tty -eq 1 ]; then
      echo "Using Security Manager"
    fi
    shift
    eval "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
      -Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \
      -Djava.security.manager \
      -Djava.security.policy=="\"$CATALINA_BASE/conf/catalina.policy\"" \
      -Dcatalina.base="\"$CATALINA_BASE\"" \
      -Dcatalina.home="\"$CATALINA_HOME\"" \
      -Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
      org.apache.catalina.startup.Bootstrap "$@" start \
      >> "$CATALINA_OUT" 2>&1 "&"
  else
    eval "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
      -Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \
      -Dcatalina.base="\"$CATALINA_BASE\"" \
      -Dcatalina.home="\"$CATALINA_HOME\"" \
      -Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
      org.apache.catalina.startup.Bootstrap "$@"
start 2>&1 | /usr/local/sbin/cronolog /data/install/tomcat7cluster/logs/test81.%Y-%m-%d.log >> /dev/null&
#  >> "$CATALINA_OUT" 2>&1 "&"
  fi  上述23行修改的部分包括cronolog的路径,以及日志的存放路径,注:25行的代码注释掉。
  完成配置之后,重启tomcat
  #./startup.sh
  查看日志存放的路径,是否生成当天的日志
  #cd /data/install/tomcat7cluster/logs
  #ls
  test81.2016-05-20.log

  到此日志分割完成
  3、简单的日志查看和导出脚本
  a.方便查看,直接执行脚本可以查看当前刷新的日志
  #cd /data/install/tomcat7cluster

  #vim tail-log.sh(脚本名)

#!/bin/sh
    log_dir="/data/install/tomcat7cluster/logs"
    log_file=`date '+test81.%Y-%m-%d.log'`
    tail -f ${log_dir}/${log_file}  

  保存退出,可以试试效果哦。
  b.日志导出脚本
  脚本位置随意,导出的日志位置也是随意,这里日志在root下的logs中
  #vim get-log.sh
    #!/bin/bash
    echo -e "Which day do you want to log,such as \033[31m2016-05-20\033[0m"
    read -p "please enter: " a
    echo
    echo -e "Please enter start time,such as \033[31m16-01-27 14:51:27\033[0m"
    read -p "Write down your answers: " b
    echo -e "Please enter stop time,such as \033[31m16-01-27 14:51:27\033[0m"
    read -p "Write down your answers: " c
    echo
    read -p "what name do you want to save: " d
    tomcat_dir="/data/install/tomcat7cluster/"
    log_dir="${tomcat_dir}/logs/test81.$a.log"
    sednum1=`grep -n "$b" ${log_dir} | head -1 | awk -F ':' '{print $1}'`
    sednum2=`grep -n "$c" ${log_dir} | tail -1 | awk -F ':' '{print $1}'`
    sed -n "${sednum1},${sednum2}p" ${log_dir} > /root/logs/${d}
    echo -e "\033[31m########check logs###########\033[0m"
    cho -e "\033[34mhead\033[0m"
    head /root/logs/${d}
    sleep 5
    echo -e "\033[34mtail\033[0m"
    tail /root/logs/${d}  

  #bash get-log.sh
http://s2.运维网.com/wyfs02/M01/80/60/wKiom1c-xR-yKZ7rAAA6ivnNWPA729.jpg
  注意:tomcat版本不同日志格式会不相同,根据实际情况做调整。
  执行完成后,可以去存的目录下查看,到此。对tomcat日志的改造到此结束。





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-644197-1-1.html 上篇帖子: 添加到收藏夹及tomcat启动报错 下篇帖子: Eclipse中将web项目自动发布到Tomcat webapps下
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表