羽翼飞扬

古人学问无遗力,少壮工夫老始成。纸上得来终觉浅,绝知此事要躬行。

导航

logrotate 入门

logrotate 是Linux系统日志文件管理工具。用来把旧的日志文件删除,并创建新的日志文件,我们把它叫做“转储”。可以根据日志文件的大小,也可以根据其天数来转储,这个过程一般通过 cron 程序来执行。

logrotate 程序还可以用于压缩日志文件,以及发送日志到指定的E-mail。

默认的logrotate被加入cron的/etc/cron.daily中作为每日任务执行。

/etc/logrotate.d/* 为/etc/logrotate.conf默认包含目录其中文件也会被logrotate读取。指明每个日志文件的特定规则。

/var/lib/logrotate/status中默认记录logrotate上次轮换日志文件的时间。

 

 

 

 

 

我们以分割nginx日志为例,来做个实验:

第一步:安装

> yum install -y logrotate

第二步:编辑配置文件

> vim /etc/logrotate.d/nginx

/usr/local/nginx/logs/*.access.log {
    su root root
    daily
    dateext
    missingok
    rotate 7
    compress
    delaycompress
    ifempty
    create 0640 zhangwei zhangwei
    sharedscripts
    postrotate
        [ ! -f /usr/local/nginx/logs/nginx.pid ] || kill -USR1 `cat     /usr/local/nginx/logs/nginx.pid`
    endscript
}

 

第三步:强制执行logrotate程序,进行日志分割

> usr/sbin/logrotate -f /etc/logrotate.d/nginx

 

 

 

延伸阅读:

http://www.pythondev.org/post/8.html

https://linux.cn/article-4126-1.html

posted on 2018-11-02 11:28  羽翼飞扬  阅读(734)  评论(0编辑  收藏  举报