龙空技术网

日志切割工具logrotate,帮你管理你的日志文件

程序员的苦咖啡 577

前言:

现在同学们对“nginx日志切割软件”可能比较看重,我们都想要学习一些“nginx日志切割软件”的相关资讯。那么小编也在网上网罗了一些有关“nginx日志切割软件””的相关知识,希望你们能喜欢,咱们快快来学习一下吧!

最近线上系统跑的业务量有点上量,虽然系统性能是稳定的,但是却有另外一个问题,那就是日志文件越来越大,占用的磁盘空间就越来越大,这样经常会收到告警信息,不得不手动去清理这些日志文件,这样手动维护的服务是件很糟糕的事情,不过有这样一个工具,能够释放你的双手,让你不再为日志文件越来月膨胀进行苦恼,那就是logrotate!

许多Linux的发行版都会默认装有logrotate日志管理工具,如果没有可以通过命令yum -y install logrotate crontabs进行安装,安装完成后会有一个主配置文件logrotate.conf和一个配置目录logrotate.d,这样的结构是不似曾相识呀,对,就是和nginx的配置文件相似,来看一看它的目录结构:

我们输入man logrotate查看一些帮助信息,其中有一些示例如下:

首先要解释一下这些配置信息:

1、monthly:日志文件将按月轮循。其它可用值为'daily','weekly'或者'yearly'。

2、rotate 5:一次将存储5个归档日志。对于第六个归档,时间最久的归档将被删除。

3、compress:在轮循任务完成后,已轮循的归档将使用gzip进行压缩。

4、delaycompress:总是与compress选项一起用,delaycompress选项指示logrotate不要将最近的归档压缩,压缩将在下一次轮循周期进行。这在你或任何软件仍然需要读取最新归档时很有用。

5、missingok:在日志轮循期间,任何错误将被忽略,例如“文件无法找到”之类的错误。

6、notifempty:如果日志文件为空,轮循不会进行。

7、create 644 root root:以指定的权限创建全新的日志文件,同时logrotate也会重命名原始日志文件。

8、postrotate/endscript:在所有其它指令完成后,postrotate和endscript里面指定的命令将被执行。在这种情况下,rsyslogd 进程将立即再次读取其配置并继续运行。

9、size:指定文件达到多少m时进行切割

知道了logrotate的配置文件里面的配置信息,下面就来动手试一试吧!

首先创建一个空的日志文件:

把这个日志文件用logrotate管理起来,在/etc/logrotate.d/文件夹下配置管理文件:

现在配置就是文件大于5m时进行切割,通过指令给test.log增加大小:head -c 10M < /dev/urandom > /var/log/testlog/test.log

通过命令logrotate -vf /etc/logrotate.d/test 手动执行一下刚才配置的切割规则,看生效了没有:

这样,这个日志文件就根据我们配置的规则,被logrotate管理起来了,不过以上的例子都是小小的测试一下,更多的功能和配置,请输入man logrotate进行参照和测试!

标签: #nginx日志切割软件 #日志切割命令 #日志切割命令在哪