首页 > 代码库 > 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日志分割