logrotate日志切割

为保证系统磁盘空间不过度使用,保障系统的平稳运行,logrotate日志切割起到了很大作用,本文将对logrotate的使用做简单介绍。

一、logrotate介绍

    logrotate是一个日志文件管理工具。用于分割日志文件、删除旧的日志文件、并且创建新的日志文件,起到“转储”的作用。以此来节省磁盘空间。

    比如,可以通过设置logrotate,来让Nginx中的日志文件每过30天轮循,并且删除超过半年的日志,配置完成后,不必人为干预,logrotate即可完全自动化运行。

二、logrotate的配置使用

    1、默认CentOS系统自带,直接yum安装

        yum -y install logrotate crontabs

    2、创建配置文件(Nginx默认日志文件路径为例)

        vim /etc/logrotate.d/nginx_log

        文件内容:

        /usr/local/nginx/logs/access.log {

            daily

            rotate 5

            missingok

            notifempty

            create 644 www www

            postrotate

              if [ -f /application/nginx/logs/nginx.pid ]; then

                  kill -USR1 `cat /application/nginx/logs/nginx.pid`

              fi

        endscript

        }

        此模板是通用的,需要根据需求调整,其中的参数也不都是必要的。配置完毕后,进程是全自动的,可以长时间在不需要人为干预下运行。

    3、配置文件说明    

配置参数说明
daily日志文档将按月轮循。其它可用值为'monthly','weekly'或者'yearly'。
rotate 5一次将存储5个归档日志。对于第六个归档,时间最久的归档将被删除。
missingok在日志轮循期间,任何错误将被忽略,例如“文件无法找到”之类的错误。
notifempty如果日志文件为空,轮循不会进行。
create 644 root root以指定的权限创建全新的日志文件,同时logrotate也会重命名原始日志文件。
postrotate/endscript在所有其它指令完成后,postrotate和endscript里面指定的命令将被执行。在这种情况下,rsyslogd 进程将立即再次读取其配置并继续运行。

    以上摘自man logrotate,可通过man手册来学习。

    4、强制执行日志分割操作(以刚才配置的Nginx日志切割文件为例)

        logrotate -vf /etc/logrotate.d/nginx_log

    5、logrotate自身的日志文件默认/var/lib/logrotate/status中。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值