美文网首页
使用logrotate来管理日志

使用logrotate来管理日志

作者: 愤愤的有痣青年 | 来源:发表于2019-12-05 11:13 被阅读0次

    logrotate是一款可以对日志进行定时分割压缩处理的工具,感觉非常实用.linux系统一般都默认有安装,其可以运行logrotate --version命令看看本机是否有安装,若有安装则可以直接修改配置文件使用.

    • 安装
      ubuntu直接使用apt-get install logrotate

    • 配置文件
      logrotate工具的默认配置文件路径在/etc/logrotate.d/目录下,只需要将需要处理的目录的配置文件加在此目录下即可.
      nginx配置文件日志处理示例如下:

    # /etc/logrotate.d/nginx
    /mnt/log/nginx/*.log { 
        daily
        missingok  
        rotate 14
        compress
        delaycompress
        notifempty
        create 0640 www-data adm
        sharedscripts
        prerotate
            if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
                run-parts /etc/logrotate.d/httpd-prerotate; \
            fi \
        endscript
        postrotate
            invoke-rc.d nginx rotate >/dev/null 2>&1
        endscript
    }
    

    其说明如下:

    命令 说明
    /mnt/log/nginx/*.log 配置文件路径
    daily 日志文件将按日轮循。其它可用值为'monthly','weekly'或者'yearly'。
    missingok 在日志轮循期间,任何错误将被忽略,例如“文件无法找到”之类的错误。
    rotate 14 一次将存储14个归档日志。对于第15个归档,时间最久的归档将被删除。
    compress 在轮循任务完成后,已轮循的归档将使用gzip进行压缩。
    delaycompress 总是与compress选项一起用,delaycompress选项指示logrotate不要将最近的归档压缩,压缩将在下一次轮循周期进行。这在你或任何软件仍然需要读取最新归档时很有用。
    notifempty 如果日志文件为空,轮循不会进行。
    create 0640 www-data adm 以指定的权限创建全新的日志文件,同时logrotate也会重命名原始日志文件。
    sharedscripts 共享脚本,不大明白含义....
    postrotate/endscript 运行时的自定义脚本,内部以postrotate/endscript开始和结尾

    修改配置文件保存后配置即生效,此时也可以手动运行脚本
    logrotate /etc/logrotate.conf

    相关文章

      网友评论

          本文标题:使用logrotate来管理日志

          本文链接:https://www.haomeiwen.com/subject/xihdgctx.html