Logrotate日志切割

  • 1. 配置文件
    • 1.1 配置放在那里
    • 1.2 配置文件参数含义
  • 2. 范例
  • 3. 手动触发测试

在Linux下,日志会不停的增长,为了防止日志文件过大,导致我们无法在日志中快速找到想要的信息,我们会定时对日志文件进行切割。在这里我将使用logrotate切割日志。
logrotate是一个日志管理程序,用来把旧的日志文件删除(备份),并创建新的日志文件,这个过程称为“转储”。
我们可以根据日志的大小,或者根据其使用的天数来转储。
logrotate的执行由crond服务实现,参考 /etc/cron.daily/logrotate 脚本,该脚本每天由cron在指定的时间(/etc/crontab)启动。

1. 配置文件

1.1 配置放在那里

配置内容可以放在两个地方:

  1. /etc/logrotate.conf
    主配置文件
  2. /etc/logrotate.d/
    主配置文件中调用

1.2 配置文件参数含义

参数 作用
missingok 日志切割期间产生错误将被忽略(如果日志丢失,不报错继续切割)
daily、weekly、monthly、yearly 每天、每周、每月、每年执行
create MODE OWNER GROUP 切割后指定创建新的空白文件的属性
nocreate 不建立新的日志文件
rotate N 保留N份,多余删除,不计算新建日志文件
dateext 用当前日期作为后缀命名格式(默认年月日)
dateformat .%s 配合dateext使用,紧跟在下一行出现,定义切割后的文件名,只支持%Y,%m,%d,%s
size/minsize 达到指定大小才会切割,默认单位bytes,还可以是KB和MB
compress 切割结束后,归档并使用gzip格式压缩
nocompress 解除compress参数
delaycompress 总是与compress参数一起使用,指示logrotate不要将最近的归档压缩,压缩将在下一次切割进行。
nodelaycompress 解除delaycompress参数
ifempty 即使日志为空,也执行切割
notifempty 如果日志为空,切割不执行
prerotate/endscript 在所有其他指令之前执行prerotate和endscript之间的命令。
postrotate/endscript 在所有其他指令完成后,postrotate和endscript之间的命令将被执行。
sharescripts 所有日志切割后统一执行一次脚本,如果没有配置该参数,则每个日志切割后都会执行一次脚本。
errors ADDRESS 切割时的错误信息发送到指定的Emial地址
mail ADDRESS 切割日志发送到指定的Email地址
nomail 切割日志不发送邮件
olddir DIRECTORY 切割后的日志文件放入指定目录,必须与当前日志处在同一文件系统
noolddir 切割后的日志文件与当前文件放在同一目录下
copytruncate 用于还在打开中的日志文件,把当前日志备份并截断;先拷贝后清空,可能丢失部分日志
nocopytruncate 备份日志文件,但不截断。

2. 范例

cat > /etc/logrotate.d/nginx.conf <<EOF
/app/nginx/logs/*.log {         #对log后缀的进行转储su root root                # 以root用户运行daily                        #每天一次rotate 7                   #保留7天代missingok             #如果日志不存在,不提示错误,继续处理下一个notifempty              #如果不空就转储,如果空的就不转储#######如果需要压缩可以###################   compress              #进行压缩#  delaycompress           #延迟压缩######################################size 10M                 #当文件大于10M转储,1天检查一次nocompress                #不压缩delaycompress           #延迟压缩create 644 nginx nginx     #新文件权限postrotate                #转储后的操作if [ -f /app/nginx/log/nginx.pid ];thenkill -USR1 `cat /app/nginx/logs/nginx.pid`          #nginx重启fiendscript
}
EOF

3. 手动触发测试

logrotate /etc/logrotate.d/nginx.conf

至此logrotate配置完毕.

Logrotate日志切割相关推荐

  1. Linux logrotate日志切割详解

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

  2. Linux Logrotate日志切割管理

    Logrotate 是 linux 系统用来分割日志的系统工具.Logrotate 可以设置为每天.每周.每月或当日志文件达到一定的大小时处理日志文件,提供自动压缩.删除.分割日志文件的功能.一般 C ...

  3. Syslog-ng+Rsyslog收集日志:logrotate日志切割、轮询(七)

    很多软件都自带切割日志,比如tomcat可以按时间来命名.rsyslog可按日期生成文件,但是并不支持用"%$year%-%$month%-%$day%"这些变量来读取文件(目前版 ...

  4. logrotate 日志切割 原理

    logrotate 原理 logrotate 是怎么做到滚动日志时不影响程序正常的日志输出呢?logrotate 提供了两种解决方案. create copytruncate Linux 文件操作机制 ...

  5. Linux日志切割工具logrotate原理和配置详解

     前言: 对于Linux系统安全来说,日志文件是及其重要的工具 一.logrotate概念 1.1 概念 logrotate 程序是一个日志文件管理工具.用于分割日志文件,删除旧的日志文件,并创建新的 ...

  6. Linux使用logrotate来切割日志文件

    程序在运行的时候为了了解运行状态,会输出日志文件,时间久了日志文件会变得非常大,甚至达到GB级别.我在golang应用里使用logrus包来打日志,配置和使用都很方便,就是没有日志分割的功能,应用在线 ...

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

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

  8. 日志切割之Logrotate

    1.关于日志切割 日志文件包含了关于系统中发生的事件的有用信息,在排障过程中或者系统性能分析时经常被用到.对于忙碌的服务器,日志文件大小会增长极快,服务器会很快消耗磁盘空间,这成了个问题.除此之外,处 ...

  9. centos 日志切割_centos 创建 logrotate 进行日志分割

    这里就不赘述logrotate了,具体是什么,有什么作用,自行百度. 我们先说下,如何进行nginx的日志切割: 比如:日志目录为:/usr/local/nginx/logs/access.log 按 ...

最新文章

  1. 机器学习知识点(三十三)机器学习入门的数学基础
  2. python应用html模板,Flask框架如何使用HTML模板
  3. 《简明 Python 教程》笔记
  4. JNDI(datasource)在tomcat,JBOSS下的spring+quartz配置
  5. 软件设计师 - 超键、无损连接、函数依赖
  6. 赶个项目,博客稍后更新
  7. Python实现基于模块的库存管理系统
  8. DBSCAN 聚类算法
  9. 从美术生到程序员转型之路【我的故事】
  10. 如何自建微信外卖平台_如何建立微信点餐平台 微信小程序外卖怎么做
  11. 浙江宁波天童禅寺重阳节前夕慰问鄞州区东吴福利院
  12. 4G低功耗摄像头如何实现快速视频,拍照上传文件
  13. API汇总;API大全(转载)
  14. 安焦删除贴 牛人纷纷出现(1)
  15. 夏目漱石《我是猫》读后感
  16. PostgreSQL 10.0 preview 功能增强 - 更强可靠性, 过去式事务状态可查(杜绝unknown事务)...
  17. 基于C++实现平台类对战游戏
  18. Discuz如何开发关注功能
  19. 播放FLV文件的方法
  20. 淘宝新品上架后怎么做才能做好?

热门文章

  1. 妻子给丈夫情人的信,请不要落泪
  2. mysql存储过程 cast_mysql 存储过程参考 - 木鱼若愚 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
  3. 使用python计算复利并使用图表表示
  4. 双冒号::在python索引中的含义
  5. 双十二薅羊毛!这几款数码好物不可错过
  6. 高压连接革命!CSJ高压连接器与您共赢电动汽车新时代
  7. C51汇编语言寻址方式,单片机学习:51单片机寻址方式详解
  8. Xshell文件传不到虚拟机中
  9. xlwings清理excel内容及设置sheet背景颜色
  10. php画图抗锯齿,GD绘图抗锯齿方案[PHP]