以前nginx需要写脚本来分割日志,最近发现debian服务器下的logrotate可以用来分割日志,功能比自己写脚本强多了

效果如图

logrotate

新建/etc/logrotate.d/nginx,输入内容

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
/var/log/nginx/access.log {
  daily  每天分割一次
  dateext 分割后日志标题带有时间
  dateformat %Y%m%d 设置时间格式为年月日
  extension .log 日志文件以.log结尾
  rotate 60 保存60天的日志
  #compress 压缩
  #delaycompress 
  notifempty
  create 0640 www-data www-data 创建日志的用户、用户组
  sharedscripts
  prerotate
      if [ -d /etc/logrotate.d/httpd-prerotate ]; then 
          run-parts /etc/logrotate.d/httpd-prerotate; 
      fi 
  endscript
  postrotate
      [ ! -f /var/run/nginx.pid ] || kill -USR1 `cat /var/run/nginx.pid`
  endscript
}