logrotate是linux系统自带的工具,它可以自动对日志进行截断(或轮循)、压缩以及删除旧的日志文件。

1)配置文件示例
# cat /wls/wls81/bin/weblogic
/wls/applogs/rtlog/bloan-onlineWIIServer16780/bloan-onlineWIIServer16780.out
{
rotate 7       # 日志保留7天,自动删除
daily          # 每天轮询,weekly每周轮询,monthly每月轮询
copytruncate   # 用于还在打开中的日志文件,把当前日志备份并截断,开始轮替
compress       # 启用压缩,指的是轮替后的旧日志,这里默认用的是gzip压缩的
notifempty     # 如果日志文件为空,轮循不会进行(不切割空文件)。
missingok      # 在日志轮循期间,任何错误将被忽略,例如“文件无法找到”之类的错误。
dateext        # 轮替的日志文件会附加上一个短横线和YYYYMMDD格式的时间戳
}

2)计划任务
59 23 * * * /usr/sbin/logrotate -fv /wls/wls81/bin/weblogic

按日志文件大小切换参数 size
把每天轮询参数去掉,然后定义size参数
size 100M

3)总结
3.1 测试切割,在验证配置文件是否按需求切割时,必须要带参数-f 测试,强制切割
比如,直接命令运行计划任务,查看切割结果
$ /usr/sbin/logrotate -f /wls/wls81/bin/weblogic
$ ls /wls/applogs/rtlog/bloan-onlineWIIServer16780/
bloan-onlineWIIServer16780.out20171205.gz   --切割后的日志

3.2 如果我们把配置文件放在默认位置[/etc/logrotate.d/],则默认切割时间点为凌晨3点。
这个时间不可以更改的(尝试修改/etc/logrotate.conf默认配置,也无法生效)
所以,我们要指定时间切割的话,必须把配置文件放在其他位置,然后配合crontab任务实现定期切割。

常用参数
compress          通过gzip压缩转储以后的日志
nocompress        不压缩
copytruncate      用于还在打开中的日志文件,把当前日志备份并截断
nocopytruncate    备份日志文件但是不截断
nocreate          不建立新的日志文件
delaycompress     和 compress 一起使用时,转储的日志文件到下一次转储时才压缩
nodelaycompress   覆盖 delaycompress 选项,转储同时压缩。
errors address    专储时的错误信息发送到指定的Email 地址
ifempty           即使是空文件也转储,这个是 logrotate 的缺省选项。
notifempty        如果是空文件的话,不转储
mail address      把转储的日志文件发送到指定的E-mail 地址
nomail            转储时不发送日志文件
olddir directory  转储后的日志文件放入指定的目录,必须和当前日志文件在同一个文件系统
noolddir          转储后的日志文件和当前日志文件放在同一个目录下
prerotate/endscript    在转储以前需要执行的命令可以放入这个对,这两个关键字必须单独成行
postrotate/endscript   在转储以后需要执行的命令可以放入这个对,这两个关键字必须单独成行
daily/weekly/monthly   指定转储周期为每天,每周,每月
rotate count      指定日志文件删除之前转储的次数,0 指没有备份,7指保留7个备份
tabootext [+] list 让logrotate     不转储指定扩展名的文件,缺省的扩展名是:.rpm-orig, .rpmsave, v, 和 ~
size size         当日志文件到达指定的大小时才转储,bytes(缺省)及KB(sizek)或MB(sizem)

logrotate-日志切割示例的更多相关文章

  1. Logrotate日志切割

    日志切割Logrotate 关于日志切割 logrotate程序是一个日志文件管理工具.用于分割日志文件,删除旧的日志文件,并创建新的日志文件,起到"转储"作用. 可以节省磁盘空间 ...

  2. Centos7 logrotate日志切割

    https://www.cnblogs.com/kevingrace/p/6307298.html 在当前目录下 vim  *****  文件 需要切的日志  /home/soft/app/logs/ ...

  3. logrotate 日志切割

    logrotate是一个日志文件管理工具.用于分割日志文件,删除旧的日志文件,并创建新的日志文件,起到"转储"作用. 配置文件 Linux系统默认安装logrotate工具,它默认 ...

  4. logrotate 日志切割工具

    相关原理参见:https://www.cnblogs.com/sailrancho/p/4784763.html 一.相关目录: 程序:/usr/sbin/logrotate配置:/etc/logro ...

  5. Nginx访问日志.Nginx日志切割

    11月27日任务 12.10 Nginx访问日志12.11 Nginx日志切割12.12 静态文件不记录日志和过期时间 1.Nginx访问日志 示例一: 日志格式 vim /usr/local/ngi ...

  6. 运维中的日志切割操作梳理(Logrotate/python/shell脚本实现)

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

  7. 运维中的日志切割操作梳理(Logrotate/python/shell脚本实现)(转)

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

  8. 日常运维中的相关日志切割处理方法总结 [Logrotate、python、shell脚本实现 ]

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

  9. Linux 日志切割方法总结--Logrotate

    一.Logrotate 使用方法 对于Linux系统安全来说,日志文件是极其重要的工具.logrotate程序是一个日志文件管理工具.用于分割日志文件,删除旧的日志文件,并创建新的日志文件,起到&qu ...

  10. nginx日志切割(logrotate或shell脚本)

    nginx自己不会对日志文件进行切割,可以通过两种不同的方式进行,分别是:通过logrotate和通过shell脚本. 如果是yum方式安装的nginx,系统默认会自动通过logrotate这个日志管 ...

随机推荐

  1. 颜色的RGB-计算HSV公式色度/饱和度/亮度 简化代码

    计算颜色的HSV值 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享.心创新! ...

  2. win10企业版2016长期服务版本激活

    右键左下角Windows开始图标  ——>  单击  命令提示符(管理员)A 粘贴如下代码到dos窗口: slmgr /ipk DCPHK-NFMTC-H88MJ-PFHPY-QJ4BJ slm ...

  3. 网络ping不通原因总结

    1.检查主机是否在线,硬件是否连接好 2.查看ip地址是否输入正确 3.查看是否防火墙拦截,如果有拦截关闭防火墙 4.两台电脑是否接入同一局域网(WiFi也是)

  4. 第十一章 IO流

    11.IO流 11.1 java.io.File类的使用 1课时 11.2 IO原理及流的分类 1课时 11.3 节点流(或文件流) 1课时 11.4 缓冲流 1课时 11.5 转换流 1课时 11. ...

  5. 浅谈JavaScript函数重载

    上个星期四下午,接到了网易的视频面试(前端实习生第二轮技术面试).面了一个多小时,自我感觉面试得很糟糕的,因为问到的很多问题都很难,根本回答不上来.不过那天晚上,还是很惊喜的接到了HR面电话.现在HR ...

  6. [JAVA]为什么==和equals总让新手迷惑? 详解 关系操作符 == 和 equals

    关系操作符==和 类的equals方法都可以用来比较两个类是否相同,但实际用起来却经常产生令JAVA新手迷惑的结果. 先看一段示例代码: public class HelloWorld { publi ...

  7. Zuul权限检验

    一.达到的目标 /order/create 只能买家访问 /order/finish 只能卖家访问 /product/list 都能访问 二.创建User工程 1.创建user工程 选择的依赖 2.创 ...

  8. python3学习笔记五(列表2)

    参考http://www.runoob.com/python3/python3-list.html 嵌套列表 a = ['a','b','c']b = [1,2,3]x = [a, b]print(x ...

  9. 如何使用jQuery从字符串中删除最后一个字符

    如何使用jQuery从字符串中删除最后一个字符 1.string.slice(0,-1) 2.str.substring(0,str.length-1)

  10. Java并发编程三个性质:原子性、可见性、有序性

      并发编程 并发程序要正确地执行,必须要保证其具备原子性.可见性以及有序性:只要有一个没有被保证,就有可能会导致程序运行不正确  线程不安全在编译.测试甚至上线使用时,并不一定能发现,因为受到当时的 ...