首页 > 代码库 > nginx日志分割

nginx日志分割

1.写一个切割的脚本

进入vhost目录下

cd /usr/local/nginx/conf/vhosts


2.打开一个文件

vim /usr/local/sbin/nginx_logrotate.sh  ---日志文件都放在这个目录下面


添加以下内容

#!/bin/bash

d=‘date -d "-1 day" +%F‘

[ -d /tmp/nginx_log ] || mkdir /tmp/nginx_log

mv /tmp/access.log  /tmp/nginx_log/$d.log

/etc/init.d/nginx reload 2> /dev/null

cd /tmp/nginx_log/

gzip -f $d.log


保存退出


技术分享

技术分享


3.执行以下的命令

sh -x /usr/local/sbin/nginx_logrotate.sh


如果没有日志文件就会提示错误信息


4.利用系统的logrotat工具实现每天0点0分执行该脚本

打开文件

vim /etc/logrotate.d/nginx

加入以下内容

/home/logs/*.log{

daily

Missingok

rotate 52

compress

delaycompress

notifempty

create 644 nobody nobody

sharedscripts

postrotate

[ -f /usr/local/nginx/var/nginx.pid ] && kill-lizheng ‘cat /usr/local/nginx/var/nginx.pid‘

Endscript

}



查看日志

cat /tmp/access_log


ls /tmp/nginx_log/


nginx日志分割