本文共 1162 字,大约阅读时间需要 3 分钟。
本文转载自:http://linux008.blog.51cto.com/2837805/555829
描述:linux日志文件如果不定期清理,会填满整个磁盘。这样会很危险,因此日志管理是系统管理员日常工作之一。我们可以使用"logrotate"来管理linux日志文件,它可以实现日志的自动滚动,日志归档等功能。下面以nginx日志文件来讲解下logrotate的用法。
配置:1、在/etc/logrotate.d目录下创建一个nginx的配置文件"nginx"配置内容如下#vim /etc/logrotate.d/nginx
/usr/local/nginx/logs/*.log { dailyrotate 5missingoknotifemptysharedscriptspostrotate if [ -f /usr/local/nginx/logs/nginx.pid ]; then kill -USR1 `cat /usr/local/nginx/logs/nginx.pid` fiendscript} 保存退出。2、执行logrotate#/usr/sbin/logrotate -f /etc/logrotate.d/nginx
在/usr/local/nginx/logs目录中会产生error.logerror.log.1说明logrotate配置成功。3、让logrotate每天进行一次滚动,在crontab中添加一行定时脚本。#crontab -e
59 23 * * * /usr/sbin/logrotate -f /etc/logrotate.d/nginx 每天23点59分进行日志滚动4、配置文件说明daily:日志文件每天进行滚动rotate:保留最5次滚动的日志notifempty:日志文件为空不进行滚动sharedscripts:运行postrotate脚本下面是一个脚本postrotate
if [ -f /usr/local/nginx/logs/nginx.pid ]; then kill -USR1 `cat /usr/local/nginx/logs/nginx.pid` fiendscript 脚本让nginx重新生成日志文件。
============================简易配置================================
more /etc/logrotate.d/nginx
/usr/local/nginx/logs/access.log { dailydateextrotate 10missingoknotifemptycopytruncate}