zoukankan      html  css  js  c++  java
  • MySQL log rotate配置

    功能介绍

    Linux logrotate被设计用来对各服务产生的大日志文件进行归档处理,默认情况下logrotate每天基于cron job触发。

    • 以下是logrotate功能特点
      - 支持自动日志归档
      - 支持对归档的日志进行压缩
      - 支持对归档操作发送邮件提醒
      - 支持基于每天、每周、每月、每年等维度进行归档策略
      - 支持日志达到指定大小的归档策略
      - 支持在日志归档期间进行额外的操作(如重启某服务)
      - 支持归档过程中的常见错误处理机制(如文件不存在、文件为空等)

    配置文件

    ## 参数说明
    weekly						每周进行切换
    rotate						保留12份归档日志文件
    olddir						指定归档的目录
    missingok					如不存在该文件也不报错且进入下一轮
    minsize						指定日志多大时进行切换,单位字节,可与weekly、monthly一起使用
    dateext						对归档的日志文件增加日期后缀,默认格式'%Y%m%d'
    copytruncate				
    notifempty					如果日志文件为空,不会进行日志归档切换
    compress					对归档的日志进行压缩,默认用gzip压缩,文件名以'.gz结尾'
    

    copy、copytruncate与create的差异

    copy

    • 原样拷贝一份相同的日志文件后,不清空原日志文件

    copytruncate

    • 原样拷贝一份相同的日志文件后,清空原日志文件,该方式不同意将文件先move后新建一个同名文件的方式,主要是针对一些程序在文件的inode改变后无法正常写入日志的情况,对于大日志文件,通过这种方式进行日志的truncate操作期间,会有短暂的处理时间,在这端时间内产生的日志将不会输出到原本的日志文件,所以会有少量数据丢失情况。

    create

    配置示例

    MySQL slow log

    /opt/mysql/data/mysql-slow.log
    {
        weekly
        rotate 12
        olddir /opt/mysql/log_archive/slow
        missingok
        dateext
        minsize 104857600
        copytruncate
        notifempty
        compress
    }
    

    MySQL error log

    /opt/mysql/data/mysql-error.log
    {
        monthly
        rotate 12
        olddir /opt/mysql/log_archive/error
        missingok
        dateext
        copytruncate
        notifempty
        compress
    }
    

    常用命令

    ## 安装
    yum install -y logrotate crontabs
    
    ## 默认配置目录
    ls /etc/logrotate.d/
    
    ## 手动触发日志切换
    logrotate -vf /etc/logrotate.d/mysql-error
    
    

    参考链接

    转载请说明出处 |QQ:327488733@qq.com
  • 相关阅读:
    Linux学习进阶路线图
    Ubuntu打开终端的方法三种
    Linux下显示IP地理位置信息的小工具-nali
    kail2 linux 安装vmware tools
    Ubuntu下apt-get命令详解
    Eclipse安卓开发环境
    纪念逝去的计算器之计算表达式结果
    今年暑假要AC
    结课博客作业
    第七次课程作业
  • 原文地址:https://www.cnblogs.com/zhenxing/p/15102912.html
Copyright © 2011-2022 走看看