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