nginx切割日志

回复 收藏
本帖最后由 lyhabc 于 2015-12-23 15:20 编辑

课堂上铭哥教了大家怎么切割nginx的访问日志,铭哥是使用reload参数来完成的

其实nginx一早就准备了一个日志切换的参数给大家
日志切割
编写脚本:
vim /usr/local/sbin/logrotate.sh


#! /bin/bash
d=`date -d "-1 day" +%Y%m%d`  
/bin/mv /home/logs/discuz.log /home/logs/discuz_$d.log
killall –s USR1 nginx  >/dev/null 2>$1   //USR1参数就是用来日志切换的
cd /home/logs/discuz
gzip discuz_$d.log



执行脚本
sh -x  /usr/local/sbin/logrotate.sh


通过信号对 Nginx 进行控制Nginx 支持下表中的信号:
[td]
信号名作用描述
TERM, INT 快速关闭程序,中止当前正在处理的请求
QUIT 处理完当前请求后,关闭程序
HUP 重新加载配置,并开启新的工作进程,关闭就的进程,此操作不会中断请求
USR1 重新打开日志文件,用于切换日志,例如每天生成一个新的日志文件
USR2 平滑升级可执行程序
WINCH 从容关闭工作进程


刚刚测试发现,切割了日志之后,访问网站无法生成访问日志
还是使用铭哥的方法吧 reload一下
/etc/init.d/nginx reload >/dev/null 2>$1


2015-12-23 14:59 举报
已邀请:
0

jinm

赞同来自:

学习
0

沈诚

赞同来自:

支持一下,刚好用上!
0

online189

赞同来自:

学习
0

prospect

赞同来自:

6666666666666666666

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: