关于nginx的日志切割有很多种方法,这里列举两种方式:
1、在nginx配置文件里面的server模块配置:
if ($time_iso8601 ~ "^(\d{4})-(\d{2})-(\d{2})") {
set $year $1;
set $month $2;
set $day $3;
}
access_log /data/logs/www/access.log-$year-$month-$day main;
2、使用logrotate配置:
cat /etc/logrotate.d/nginx
/data/logs/www/*.log { #日志的路径
daily #日志文件每天进行滚动
rotate 90 #保留最90次滚动的日志
missingok #如果日志不存在则忽略该警告信息
notifempty #如果是空文件的话,不转储
dateext #使用日期作为命名格式,切换后的日志文件会附加上一个短横线和YYYYMMDD格式的日期,例:error.log-20110317
sharedscripts #运行postrotate脚本
postrotate
if -f /usr/local/nginx/logs/nginx.pid ;then
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
fi
endscript
}
/usr/sbin/logrotate -f /etc/logrotate.d/nginx
本文出自 “freeterman” 博客,请务必保留此出处http://myunix.blog.51cto.com/191254/1747552
原文地址:http://myunix.blog.51cto.com/191254/1747552