Nginx 日志分割
原创
©著作权归作者所有:来自51CTO博客作者Tom马的原创作品,请联系作者获取转载授权,否则将追究法律责任
#!/usr/bin/bash
# 日志文件存放目录
logs_path=/var/log/nginx
# nginx进程pid
nginx_pid=`cat /var/run/nginx.pid`
# 日志名称
logs_name=$(date -d "yesterday" +%Y%m%d)
# 改名
mv $logs_path/access.log $logs_path/$logs_name.log
#向nginx主进程发信号重新打开日志
kill -USR1 $nginx_pid
# 保存10天
find /var/log/nginx/ -mtime +10 -name "*.log" -exec rm -rf {} \;
Nginx 的信号控制
信号 | 功能 |
HUP
| 重启
|
QUIT
| 从容关闭
|
TERM,INT
| 快速关闭
|
USER1
| 重置日志
|
USER2
| 平滑升级
|
WINCH
| 从容关闭进程
|
使用方法
kill -信号 主进程号
#不用关闭nginx进程就可以重读日志,此命令可以用于nginx的日志定时备份,按月/日等时间间隔分割有用
kill -USR1 nginx主进程号