• linux定时任务之清理tomcat catalina.out日志


    场景

    无论生产还是测试中,只要你项目嗖的一下子跑起来了,就会产生相关运行的catalina.out日志文件。我觉得看到这篇文章的人,都是过来学习怎样开启定时任务来清理tomcat日志的,下面呢,就给大家具体说下吧

    Coding


    centos版本:6.8

    1.首先进入到linux tomcat的/log目录下找到catalina.out文件

    //进入tomcat logs目录
    [root@localhost ~]# cd /usr/local/tomcat7/logs
    //查看目录下的文件,我们这边只需要关注catalina.out文件就可以了,安排~
    [root@localhost logs]# ll
    总用量 24
    -rw-r--r--. 1 root root 6647 1月   4 18:37 catalina.2019-01-04.log
    -rw-r--r--. 1 root root 6647 1月   4 18:37 catalina.out
    -rw-r--r--. 1 root root    0 1月   4 16:39 host-manager.2019-01-04.log
    -rw-r--r--. 1 root root  883 1月   4 18:37 localhost.2019-01-04.log
    -rw-r--r--. 1 root root  849 1月   4 18:17 localhost_access_log.2019-01-04.txt
    -rw-r--r--. 1 root root    0 1月   4 16:39 manager.2019-01-04.log
    //查看catalina.out日志文件大小
    [root@localhost logs]# du -h catalina.out
    18.5M    catalina.out
    

    2.清除日志信息命令:5种方法
    https://www.cnblogs.com/ainihaozhen/p/9466524.html (参考)

    ##重定向方法清空文件

    [root@localhost logs]# du -h catalina.out  查看文件大小
    17M	catalina.out
    [root@localhost logs]# > catalina.out   重定向清空文件
    [root@localhost logs]# du -h catalina.out  查看文件大小
    0	catalina.out
    

    ##使用true命令重定向清空文件

    [root@localhost logs]# du -h catalina.out
    448K	catalina.out
    [root@localhost logs]# true > catalina.out 
    [root@localhost logs]# du -h catalina.out 
    0	catalina.out
    

    ##使用cat/dev/null设备来清空文件

    // > 直接重定向清空文件
    [root@localhost logs]# du -h catalina.out
    448K	catalina.out
    [root@localhost logs]#  cat  /dev/null > catalina.out 
    [root@localhost logs]# du -h catalina.out 
    0	catalina.out
    
    [root@localhost logs]# du -h catalina.out
    448K	catalina.out
    [root@localhost logs]#  cat  /dev/null catalina.out 
    op:清空‘catalina.out’? y
    [root@localhost logs]# du -h catalina.out 
    0	catalina.out
    

    上面已经给出小伙伴们的参考地址了,为了不浪费时间,咱们直接进入正题,前方高能!!!

    定时任务清空tomcat日志


    1.首先我们得先有个小脚本
    //先创建一个空文件夹,我是在 /usr/local/下创建的哦
    [root@localhost local]# mkdir tomcat7_sh
    //在该文件夹下创建一个后缀为.sh的脚本文件
    [root@localhost tomcat7_sh]# touch clear_tomcat_log.sh
    // 使用 vim 命令打开它
    [root@localhost tomcat7_sh]# vim clear_tomcat_log.sh
    //向里面追加如下信息,shift+i 插入 Esc 结束 :wq 保存并退出
    #清空tomcat日志信息
    cat /dev/null > /usr/local/tomcat7/logs/catalina.out
    
    2.脚本文件赋权

    chmod权限建议参考博客:https://www.cnblogs.com/shangzekai/p/5822907.html

    // 赋予clear_tomcat_log.sh脚本
    [root@localhost tomcat7_sh]# chmod 777 clear_tomcat_log.sh
    // 进入/tomcat7/logs目录下测试脚本运行是否正常
    [root@localhost logs]# /usr/local/tomcat7_sh/clear_tomcat_log.sh
    [root@localhost logs]# du -h catalina.out
    0       catalina.out             // 文件大小为0,证明脚本正常运行了
    
    3.定时任务开启

    这边大家可以先去百度一下,一个在线cron表达式生成器 http://cron.qqe2.com/

    // 编辑定时任务
    [root@localhost logs]# crontab -e
    // 将下面的内容追加进去,我这边设置的是每三小时执行一次,需要注意的是每天或者每小时运行不需要加/
    //正确示范
    0 */3 * * *   /usr/local/tomcat7_sh/clear_tomcat_log.sh
    //错误示范
    0 3 * * *   /usr/local/tomcat7_sh/clear_tomcat_log.sh
    //然后保存退出,重启crontab 服务,使修改生效
    [root@localhost logs]# service crond restart
  • 相关阅读:
    DNS服务器安全之通过ipset对DNS异常解析流量的源IP地址进行管控
    C# Windows Api的一些方法 封装 以及 常用参数
    Java基础—异常(1)
    Java基础——异常(2)
    vb6 wininet
    vb6转16进制
    Java 中与(&)短路与(&&)以及 或(|)短路或(||)的关系
    关于面向对象的简单总结
    javaScript的基本规范
    关于TCP传输的三次握手四次挥手策略
  • 原文地址:https://www.cnblogs.com/xuxiaobai13/p/12532063.html
Copyright © 2020-2023  润新知