精华内容
下载资源
问答
  • Linux下tomcat日志清理

    千次阅读 2019-03-05 11:06:08
    一、找到catalina.out文件...二、使用echo命令清空tomcat日志文件 echo -n "" > /root/data/instances/tomcat-yonghe-console/logs/catalina.out 三、查看是否清理成功 du -h /root/data/inst...

     一、找到catalina.out文件

    find / -type f -name "catalina.out"

     

    二、 使用echo命令清空tomcat日志文件

    echo -n "" > /root/data/instances/tomcat-yonghe-console/logs/catalina.out

    三、查看是否清理成功

    du -h /root/data/instances/tomcat-yonghe-console/logs/catalina.out

     

     

    展开全文
  • 定时计划命令 crontab 的使用,解决 Tomcat 日志定时清理问题 如果我的文章对您产生了帮助,我将非常开心,欢迎关注我的Github,欢迎访问我的博客,欢迎star。 背景 问题 一个之前的项目,客户使用一年后,数据库...

    定时计划命令 crontab 的使用,解决 Tomcat 日志定时清理问题

    如果我的文章对您产生了帮助,我将非常开心,欢迎关注我的Github,欢迎访问我的博客,欢迎star。

    背景

    问题

    一个之前的项目,客户使用一年后,数据库执行SQL语句出现问题,报错The table xxxx is full,表空间满了。

    解决过程

    检查服务器,发现服务器磁盘满了,但是用户数据只有7GB左右,硬盘是40GB的。找到Tomcat日志占空间32GB,清理Tomcat日志后程序正常运行。

    完善

    编写清理日志的bash脚本,并使用crontab定时一个月执行一次,清理本月之前的日志。保留本月日志以排查问题。

    详细过程

    清理日志的脚本

    放在tomcat目录下的logs文件夹里即可。logs_path请自行替换。

    #!/bin/bash
    logs_path="/usr/local/apache-tomcat-8.5.31/logs"
    
    find $logs_path -mtime +30 -name "localhost.*.log" -exec rm -rf {} \;
    find $logs_path -mtime +30 -name "localhost_access_log.*.txt" -exec rm -rf {} \;
    find $logs_path -mtime +30 -name "catalina.*.log" -exec rm -rf {} \;
    find $logs_path -mtime +30 -name "manager.*.log" -exec rm -rf {} \;
    find $logs_path -mtime +30 -name "host-manager.*.log" -exec rm -rf {} \;
    find $logs_path -mtime +30 -name "fileservice.log.*" -exec rm -rf {} \;
    >$logs_path/catalina.out;
    

    crontab 的使用

    执行crontab -e编辑定时任务,并添加0 2 1 * * sh /usr/local/apache-tomcat-8.5.31/logs/clean.sh
    即定时执行clean.sh脚本,每月1日凌晨2点执行。具体含义请看详解。

    crontab命令详解

    在Linux中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron]。cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。
    cron的配置文件称为“crontab”,是“cron table”的简写。

    一、cron服务

    cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业。

    service crond start    //启动服务
    service crond stop     //关闭服务
    service crond restart  //重启服务
    service crond reload   //重新载入配置
    service crond status   //查看服务状态 
    

    二、cron配置文件的位置

    /var/spool/cron/crontabs/ 这个目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名,比如tom建的crontab任务对应的文件就是/var/spool/cron/tom。一般一个用户最多只有一个crontab文件。

    三、crontab格式说明

    用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下:
    minute hour day month week command
    其中:
    minute: 表示分钟,可以是从0到59之间的任何整数。
    hour:表示小时,可以是从0到23之间的任何整数。
    day:表示日期,可以是从1到31之间的任何整数。
    month:表示月份,可以是从1到12之间的任何整数。
    week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
    command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。
    [外链图片转存失败(img-A7JzwNTg-1564015222092)(/img/linux/1-1.png)]
    在以上各个字段中,还可以使用以下特殊字符:
    星号():代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
    逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
    中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
    正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如
    /10,如果用在minute字段,表示每十分钟执行一次。

    四、crontab命令

    1.命令格式

    crontab [-u user] file
    crontab [-u user] [ -e | -l | -r ]
    

    2.命令功能

    通过crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 shell script脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常设合周期性的日志分析或数据备份等工作。

    3.命令参数

    -u user:用来设定某个用户的crontab服务,例如,“-u ixdba”表示设定ixdba用户的crontab服务,此参数一般有root用户来运行。

    file:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。如果在命令行中没有指定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将它们载入crontab。

    -e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。

    -l:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。

    -r:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。

    -i:在删除用户的crontab文件时给确认提示。

    4. 实例

    实例1:每1分钟执行一次command
    命令:
    * * * * * command

    实例2:每小时的第3和第15分钟执行
    命令:
    3,15 * * * * command

    实例3:在上午8点到11点的第3和第15分钟执行
    命令:
    3,15 8-11 * * * command

    实例4:每隔两天的上午8点到11点的第3和第15分钟执行
    命令:
    3,15 8-11 */2 * * command

    实例5:每个星期一的上午8点到11点的第3和第15分钟执行
    命令:
    3,15 8-11 * * 1 command

    实例6:每晚的21:30重启smb
    命令:
    30 21 * * * /etc/init.d/smb restart

    实例7:每月1、10、22日的4 : 45重启smb
    命令:
    45 4 1,10,22 * * /etc/init.d/smb restart

    实例8:每周六、周日的1 : 10重启smb
    命令:
    10 1 * * 6,0 /etc/init.d/smb restart

    实例9:每天18 : 00至23 : 00之间每隔30分钟重启smb
    命令:
    0,30 18-23 * * * /etc/init.d/smb restart

    实例10:每星期六的晚上11 : 00 pm重启smb
    命令:
    0 23 * * 6 /etc/init.d/smb restart

    实例11:每一小时重启smb
    命令:
    * */1 * * * /etc/init.d/smb restart

    实例12:晚上11点到早上7点之间,每隔一小时重启smb
    命令:
    * 23-7/1 * * * /etc/init.d/smb restart

    实例13:每月的4号与每周一到周三的11点重启smb
    命令:
    0 11 4 * mon-wed /etc/init.d/smb restart

    实例14:一月一号的4点重启smb
    命令:
    0 4 1 jan * /etc/init.d/smb restart

    实例15:每小时执行/etc/cron.hourly目录内的脚本
    命令:
    01 * * * * root run-parts /etc/cron.hourly
    说明:
    run-parts这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是目录名了

    展开全文
  • tomcat日志自动清理

    千次阅读 2017-12-29 10:10:36
    不用你去每天惦记着是否需要清理日志,不用每天收到硬盘空间不足的报警短信,想好好休息的话,让我们把这个事情交给机器定时去执行吧。 1.文件命令: ①删除文件命令:find 对应目录 -mtime +天数 -...

    linux是一个很能自动产生文件的系统,日志、邮件、备份等。虽然现在硬盘廉价,我们可以有很多硬盘空间供这些文件浪费,让系统定时清理一些不需要的文件很有一种爽快的事情。不用你去每天惦记着是否需要清理日志,不用每天收到硬盘空间不足的报警短信,想好好休息的话,让我们把这个事情交给机器定时执行吧。

    1.文件命令:


    ①删除文件命令:find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \;

    ②清空文件命令:find 对应目录 -mtime +天数 -name "文件名" -exec echo "" > {} \;


    实例命令:

    find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} \;

    说明:

    将/opt/soft/log/目录下所有30天前带".log"的文件删除。具体参数说明如下:

    find:linux的查找命令,用户查找指定条件的文件

    /opt/soft/log/:想要进行清理的任意目录

    -mtime:标准语句写法

    +30:查找30天前的文件,这里用数字代表天数

    "*.log":希望查找的数据类型,"*.jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件,这个可以灵活运用,举一反三

    -exec:固定写法

    rm -rf:强制删除文件,包括目录

    {} \; :固定写法,一对大括号+空格+\+; 

    2.计划任务:

    若嫌每次手动执行语句太麻烦,可以将这小语句写到一个可执行shell脚本文件中,再设置cron调度执行,那就可以让系统自动去清理相关文件。

    2.1创建shell:

    touch /opt/soft/bin/auto-del-30-days-ago-log.sh

    chmod +x auto-del-30-days-ago-log.sh

    新建一个可执行文件auto-del-30-days-ago-log.sh并分配可运行权限

    2.2编辑shell脚本:

    vi auto-del-30-days-ago-log.sh

    编辑auto-del-30-days-ago-log.sh文件如下:

    #!/bin/sh

    find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} \;

    ok,保存退出(:wq)

    2.3计划任务:

    #crontab -e

    将auto-del-30-days-ago-log.sh执行脚本加入到系统计划任务,到点自动执行

    输入:

    10 0 * * * /opt/soft/log/auto-del-7-days-ago-log.sh >/dev/null 2>&1

    这里的设置是每天凌晨0点10分执行auto-del-7-days-ago-log.sh文件进行数据清理任务了。

    完成以上三步,你就再也不每天惦记是否硬盘空间满了,该清理日志文件了,再也不会受到服务器硬盘空间不足的报警信息了,放心的去看书喝咖啡去吧!


    展开全文
  • linux日志清理命令

    千次阅读 2015-01-16 10:09:41
    前两天server上的tomcat 运行所产生的log 文件达到了12G,导致文件夹空间不足,tomcat假死,在网上找了这个,可以对所有log 文件实行定时清理. /opt/tomcat/logs/catalina.out为文件所在的路径用命令pwd获得, /...
     

    前两天server上的tomcat 运行所产生的log 文件达到了12G,导致文件夹空间不足,tomcat假死,在网上找了这个,可以对所有log 文件实行定时清理.
    /opt/tomcat/logs/catalina.out为文件所在的路径用命令pwd获得,
    /opt/tomcat/logs/catalina.out {
    rotate 14 www.2cto.com
    daily
    copytruncate
    compress
    notifempty
    missingok
    }
    其中:
    rotate 7 表示保留7天的备份文件
    daily 表示每天整理一次
    copytruncate 表示先复制log文件的内容,然后再清空
    compress 表示压缩备分文件
    missingok 表示如果找不到log文件也没OK
    notifempty 表示如果log文件是空的,就不进行rotate
    例如: www.2cto.com
    /home/apache-tomcat-6.0.18/logs/catalina.out {
    rotate 7
    daily
    copytruncate
    nocompress
    notifempty
    missingok
    }
    然后用命令:/usr/sbin/logrotate /etc/logrotate.conf
    来同步执行
    展开全文
  • [size=large]在tomcat目录下的logs目录下有一个catalina.out文件,这个文件是无限增长的,所以要定期清理这个日志文件。 最简单的命令:[color=red]$ /dev/null > $TOMCAT_HOME/logs/catalina.out[/color] ...
  • linux下tomcat定时清理日志

    千次阅读 2018-02-02 15:18:11
    linux中有crontab 设置周期性被执行的指令 1.首先创建脚本文件 ...编辑你想执行的命令 如: #!/bin/sh find /home/apache-tomcat-8.0.36/logs/ -mtime +7 -type f -name "catalina.*.out" -exec /bin/rm -rf {
  • 一、clear_tomcat.sh 编辑 linux下执行命令,...#定时清理7天前的Tomcat日志脚本 find $logs_path -mtime +7 -name "localhost_access_log.*.txt" -exec rm -rf {} \; find $logs_path -mtime +7 -name "catal..
  • touch /home/bea1/apache-tomcat-7.0.81/logs/auto-del-15-days-ago-log.sh 2,修改文件权限 chmod +x /home/bea1/apache-tomcat-7.0.81/logs/auto-del-15-days-ago-log.sh 3,编辑shell脚(输入vi命令后,打开...
  • 先看一个命令: [root@weblogic logs]# ls -c -1 catalina.2018-01-02.log icatalina.2018-01-02:21-07.out icatalina.2018-01-02:20-56.out localhost_access_log.2018-01-02.txt host-manager.2018-01-02....
  • 1、创建批处理说明:forfiles是2003自带的命令,非常好用.forfiles /p "F:\logs" /s /m *.* /d -31/c "cmd /c del @path"forfiles:/p 指定的路径/s 包括子目录/m 查找的文件名掩码 (*.txt\*.log\*.*)/d 指定日期,有...
  • 如何不重启tomcat服务,清理日志

    千次阅读 2018-05-05 16:52:08
    在排查tomcat问题时候或者发现tomcat日志过大,直接删除日志,需要重启。如果我们不想重启就可以直接使用 如下命令,只删除文件内容,不删除文件本身。 cat /dev/null > catalina.out...
  • 利用logrotate对Tomcat日志进行切分

    千次阅读 2018-10-09 14:24:32
    最近在做服务器资源释放的时候发现有一台服务器的find命令无法使用(原因不详),所以之前利用cronolog对Tomcat日志进行切分之后。是基于包含find命令的shell脚本做的自动清理。这时就想到了用logrotate对Tomcat日志...
  • 关键字检索Tomcat日志

    千次阅读 2018-07-13 15:53:47
    需求:查询2018-07-13 15:20:00左右的订单日志记录命令:grep -B 500 '2018-07-13 15:18:00' catalina.out |more注:搜索catalina.out的日志文件,-B 往指定条件后查, 500 查询记录500条, more 分屏查看关键词最好...
  • 1.实时查看运行的日志 # tail -f catalina.out 2.由于catalina.out文件一般都比较大,我们可以查询某个时间段的日志 # sed -n '/2020-04-16 ...命令解释:这指定时间段的日志输出到新的文件cc.out中 sed -n ...
  • 在当前目录输入如下命令即可:cat /dev/null >catalina.out
  • 输入命令:touch clear_tomcat_log.sh 3:使用vi命令打开这个文件 输入命令:vi clear_tomcat_log.sh 4:在clear_tomcat_log.sh文件下追加如下信息 # 删除 /home/tomcat-demo/logs/下30天前,文件名称包含".log"的...
  • echo "" > /usr/local/tomcat/tms2api.wuliusys.com/logs/catalina.out 这里是清理在linux下catalina.out tomcat日志, 这里 就是用echo "" > 后面跟目标路径 将其赋值为空
  • linux 日志清理

    2012-04-13 17:10:59
    前两天server上的tomcat 运行所产生的log 文件达到了12G,导致文件夹空间不足,tomcat假死,在网上找了这个,可以对所有log 文件实行定时清理.    /opt/tomcat/logs/catalina.out为文件所在的路径用命令pwd获得,  ...
  • linux清理日志脚本

    2021-04-09 14:16:15
    删除日志命令 find 目录路径 -mtime +天数 -name "文件名" -exec rm -rf {} \; 例如: #!/bin/bash find /usr/local/tomcat/logs/ -mtime +7 -name "*.log" -exec rm -rf {} \; 说明: find:linux查找命令,用户...
  • 最近发现tomcat日志文件变多,就在找了一下定时清理文件的做法,其实这边最主要用到的是Linux本身的一个定时任务命令crontab,直接参考下面这篇文章吧,写的挺通俗易懂的了:  ...
  • 查找历史日志命令 find /opt/tomcat7/logs/ -mtime +15 -name "*.log" 新建文件 sudo vi /opt/delete_log.sh 更改文件归属、权限 sudo chown tomcat7:root delete_log.sh sudo chmod +x delete_log.sh...
  • 一:创建脚本 find 目录路径 -mtime +天数 -name "文件名" -exec rm -rf {} \; 例如: #!/bin/bash find /usr/local/tomcat/logs/ -mtime +7 -...find:linux查找命令,用户查找指定条件的文件 /usr/local/tomcat/l...
  • 前两天server上的tomcat 运行所产生的log 文件达到了12G,导致文件夹空间不足,tomcat假死,在网上找了这个,可以对所有log 文件实行定时清理. /opt/tomcat/logs/catalina.out为文件所在的路径用命令pwd获得, /opt/...
  • 1.上传分为增量和全量上传文件1.全量上传肯定是要重启服务器的2.增量上传如果是前端文件只需要清理...首先,进入Tomcat下的bin目录cd /usr/local/tomcat/bin2、使用Tomcat关闭命令./shutdown.sh3、查看Tomcat是否以...
  • nacos access log日志占用磁盘

    千次阅读 2020-07-08 18:57:54
    nacos access log日志占用磁盘 access 日志大量打印, Issue. 主要表现是 {nacos.home}/logs/access_log.yyyy-mm...因此这个日志清理必须由应用新建 Crontab 任务来完成,或者通过以下命令关闭日志的输出(在生产环
  • 日常命令小结

    2020-07-04 09:51:13
    linux定时清理日志 1、删除文件命令: find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \; 实例命令: find /home/tomcat8080/tomcat-8080/logs/ -mtime +10 -name "*log*" -exec rm -rf {} \; ...
  • shell命令笔记

    2018-12-20 13:05:03
    文件名 清理日志 ps -ef | grep tomcat 获取应用的进程ID kill -9 28327 杀死进程 1. ps -ef|grep uwsgi|grep -v grep|awk '{print $2}'|xargs kill -9 ps是显示瞬间进程的状态,并不动态连续;如果想对进程...
  • 序言 在生产环境中,发现经常性硬盘经常爆满,经排查后发现是nacos各种日志生成太多,删掉会还是增长太快,配置后,还是发现会有...因此这个日志清理必须由应用新建crontab任务来完成,或者通过以下命令关闭日志的输

空空如也

空空如也

1 2 3
收藏数 43
精华内容 17
热门标签
关键字:

tomcat日志清理命令