logrotate是linux自带的日志分割工具,如果没有可以用yum安装

yum -y install logrotate

要配置日志分割定时任务,需要在/etc/logrotate.d/下创建一个名为catalina的配置文件

(注:logrotate.d目录下的配置文件是用作logrotate.conf的补充)

touch /etc/logrotate.d/catalina

以下是配置文件内容,可以选择vi/vim编辑catalina配置文件输入内容

/home/tomcat/logs/catalina.out
{daily
rotate7
missingok
dateext
compress
notifempty
copytruncate
}

也可以选择用echo命令输入内容到catalina配置文件

1 echo -e "/home/tomcat/logs/catalina.out\n
2 {\ndaily\nrotate7\nmissingok\ndateext\ncompress\nnotifempty\ncopytruncate\n}">/etc/logrotate.d/catalina

这里 echo 必须加 -e 参数启用转义字符,引号必须使用 双引号。不然会出现无法换行等格式错误。

输入完记得

cat /etc/logrotate.d/catalina

查看一下配置文件内容是否正确。

确认无误后,修改/etc/anacrontab来决定任务执行时间

修改之前先对其进行备份

cp /etc/anacrontab /etc/anacrontab.bak

备份后对其进行修改

sed -i 's/START_HOURS_RANGE=3-22/START_HOURS_RANGE=1-22/g' /etc/anacrontab
START_HOURS_RANGE=3-22指的是任务在凌晨三点到二十二点之间执行,我们想让它在凌晨1~22点执行,故修改为
START_HOURS_RANGE=1-22

修改完之后日志分割定时任务就配置完成了

附上批处理命令:
pssh -h ip.list -P 'touch /etc/logrotate.d/catalina;
echo -e "/home/tomcat/logs/catalina.out\n{\ndaily\nrotate7\nmissingok\ndateext\ncompress\nnotifempty\ncopytruncate\n}">/etc/logrotate.d/catalina;
cp /etc/anacrontab /etc/anacrontab.bak;
sed -i 's/START_HOURS_RANGE=3-22/START_HOURS_RANGE=1-22/g' /etc/anacrontab'

还原命令:

pssh -h ip.list -P 'mv /etc/anacrontab.bak /etc/anacrontab;rm -f /etc/logrotate.d/catalina'

至此,日志分割定时任务配置完成。

利用logrotate工具对catalina.out进行日志分割实战的更多相关文章

  1. 【转】如何利用logrotate工具自动切分滚动中的日志文件

    FROM : http://www.2cto.com/os/201503/381812.html 在很多实际项目中,应用程序会持续写日志,如果程序代码中没有调用支持自动切分(如按filesize或da ...

  2. 利用logrotate切割nginx的access.log日志

    一.新建一个nginx的logrotate配置文件 /var/log/nginx/access.log { daily rotate compress delaycompress missingok ...

  3. 利用shell脚本实现nginx 的logs日志分割

    Nginx 是一个非常轻量的 Web 服务器,体积小.性能高.速度快等诸多优点.但不足的是也存在缺点,比如其产生的访问日志文件一直就是一个,不会自动地进行切割,如果访问量很大的话,将 导致日志文件容量 ...

  4. logrotate实现Mysql慢日志分割

    MySQL慢日志? MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询 ...

  5. 日志切割工具logrotate解决Tomcat catalina.out日志过大的问题

    一.介绍日志切割logrotate 对于Linux系统安全来说,日志文件是极其重要的工具.不知为何,我发现很多运维同学的服务器上都运行着一些诸如每天切分Nginx日志之类的CRON脚本,大家似乎遗忘了 ...

  6. MYSQL启用日志,查看日志,利用mysqlbinlog工具恢复MySQL数据库【转载】

    转自 MYSQL启用日志,查看日志,利用mysqlbinlog工具恢复MySQL数据库 - _安静 - 博客园http://www.cnblogs.com/xionghui/archive/2012/ ...

  7. linux使用logrotate工具管理日志轮替

    对于Linux系统安全来说,日志文件是极其重要的工具.logrotate程序是一个日志文件管理工具.用于分割日志文件,删除旧的日志文件,并创建新的日志文件,起到"转储"作用.可以节 ...

  8. Linux环境下使用logrotate工具实现nginx日志切割

    一. 前提背景及需求 nginx运行日志默认保存在nginx安装目录下的 /usr/local/nginx/logs 文件夹, 包含access.log和error.log两个文件. (1) acce ...

  9. Nginx-Tomcat 等运维常用服务的日志分割-logrotate

    目录 一 .Nginx-Tomcat 等常用服务日志分析 Nginx 日志 Tomcat日志 MongoDB 日志 Redis 日志 二 .日志切割服务 logrotate 三.日志切割示例 Ngin ...

随机推荐

  1. 集合框架-工具类-JDK5.0特性-ForEach循环

    1 package cn.itcast.p4.news.demo; 2 3 import java.util.ArrayList; 4 import java.util.HashMap; 5 impo ...

  2. 科技爱好者周刊(第 176 期):中国法院承认 GPL 吗?

    这里记录每周值得分享的科技内容,周五发布. 本杂志开源(GitHub: ruanyf/weekly),欢迎提交 issue,投稿或推荐科技内容. 周刊讨论区的帖子<谁在招人?>,提供大量程 ...

  3. Rsync安装配置

    一.先准备两台CentOS服务器,假定是 1.172.18.2.225(服务端) 需要配置rsyncd.conf文件 2.172.18.2.227(客户端) 不需要配置rsyncd.conf文件 二. ...

  4. Typora下载安装教程(全面)

    Typora下载与安装 一:下载 1.1百度搜索 https://www.typora.io/ 点击链接进入后映入眼帘的就是一款简洁的Typora网页,然后下滑进入主页. 1.2点击Download( ...

  5. JavaScripts之变量作用域提升问题(var、let、const)

    变量提升(Hoisting) var: 使用var在函数或全局内任何地方声明变量相当于在其内部最顶上声明它,这种行为称为Hoisting(提升) 注意:变量赋值的位置不会改变 function fn( ...

  6. Nginx同server配置下配置多个localhost路由地址

    nginx多页面路由配置,进入 nginx/conf/nginx.conf: http { ...... server { listen 80; server_name localhost; loca ...

  7. Windows下cmd/powershell命令混淆绕过

    前言 在Windows下绕过杀毒软件的主动防御机制的常见思路. Bypass 1.特殊符号.大小写 常用符号: " ^ , ; 可以绕过一些常规的waf 2.环境变量 拿到一台机器时,可以先 ...

  8. Tomcat临时目录及java.io.tmpdir对应的目录

    最近客户现场的技术支持接连反馈了一个问题:导入数据的时候,上传的excel会在服务器上生成一个临时文件,而这个临时文件都在  tomcat 的安装目录下,如果上传次数比较多的话,就会导致tomcat安 ...

  9. JSP中的请求转发与重定向

    在说请求转发和重定向之前,得了解下JSP九大内置对象中的response和request response:将服务器端数据发送到客户端,可通过在客户端浏览器中显示,用户浏览页面的重定向以及在客户端创建 ...

  10. axios ajax fetch 区别以及优缺点

    将jQuery的ajax.axios和fetch做个简单的比较,所谓仁者见仁智者见智,最终使用哪个还是自行斟酌 1.jQuery ajax $.ajax({ type: 'POST', url: ur ...