阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Nginx的日志管理和用定时任务完成日志切割

169次阅读
没有评论

共计 1834 个字符,预计需要花费 5 分钟才能阅读完成。

Ngnix 的日志管理和用定时任务完成日志切割

一、日志管理

先来看看 Ngnix 的配置文件的 server 段

Nginx 的日志管理和用定时任务完成日志切割

接下来我们解释一下默认格式的具体意思

#log_format main ‘$remote_addr(远程 IP)– $remote_user(远程用户)[$time_local](访问时间)“$request”(请求方式)‘

# ‘$status(状态 302、404、401、403 等)$body_bytes_sent(请求体 body 长度等)“$http_referer”(referer 来源信息)‘

# ‘”$http_user_agent(用户代理)” “$http_x_forwarded_for(被转发的请求的原始 IP)”‘;

注:(1)http_x_forwarded_for: 在经过代理时, 代理把你的本来 IP 加在此头信息中, 传输你的原始 IP

(2)日志的格式我们也可以自己定义

我们具体看一下日志记录的信息

Nginx 的日志管理和用定时任务完成日志切割

Ngnix 允许针对不同的 server 做不同的 log,接下来我们自己做一个

Nginx 的日志管理和用定时任务完成日志切割

保存并退出,然后重新加载一次配置文件

Nginx 的日志管理和用定时任务完成日志切割

因为我们没开启日志格式,进入配置文件开启即可

Nginx 的日志管理和用定时任务完成日志切割

接下来重载配置文件成功,然后访问下服务器,再查看 log 目录下是否有 kelly.log 日志文件,然后在 more kelly.log 看是否有日志记录

Nginx 的日志管理和用定时任务完成日志切割

二、用定时任务完成日志切割备份

思路:用 shell 写一个脚本,每到 00:00:01 时就把昨天的日志按日期时间格式重命名,放在相应的目录下,再用 USR1 信息号控制 ngnix 重新生成新的日志文件。

接下来我们在 /usr/local/ngnix/data 目录下做实验,创建一个 shell 脚本,文件名为 runlog.sh

我以下图对此脚本做详细解释

Nginx 的日志管理和用定时任务完成日志切割

我附上该 shell 脚本源码,方便读者做测试:

#!/bin/bash
base_path=’/usr/local/nginx/logs’
log_path=$(date -d yesterday +”%Y%m”)
day=$(date -d yesterday +”%d”)
mkdir -p $base_path/$log_path
mv $base_path/access.log $base_path/$log_path/access_$day.log
#echo $base_path/$log_path/access_$day.log
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`

接下来做个定时任务,按指定时间自动执行此脚本(这里我是做测试,所以我每分钟执行一下这个脚本,方便看效果)

Nginx 的日志管理和用定时任务完成日志切割

Nginx 的日志管理和用定时任务完成日志切割

然后查看最终效果

Nginx 的日志管理和用定时任务完成日志切割

此时,我们已经完成了用定时任务执行脚本,然后做日志切割备份。

————————————– 分割线 ————————————–

CentOS 6.2 实战部署 Nginx+MySQL+PHP http://www.linuxidc.com/Linux/2013-09/90020.htm

使用 Nginx 搭建 WEB 服务器 http://www.linuxidc.com/Linux/2013-09/89768.htm

搭建基于 Linux6.3+Nginx1.2+PHP5+MySQL5.5 的 Web 服务器全过程 http://www.linuxidc.com/Linux/2013-09/89692.htm

CentOS 6.3 下 Nginx 性能调优 http://www.linuxidc.com/Linux/2013-09/89656.htm

CentOS 6.3 下配置 Nginx 加载 ngx_pagespeed 模块 http://www.linuxidc.com/Linux/2013-09/89657.htm

CentOS 6.4 安装配置 Nginx+Pcre+php-fpm http://www.linuxidc.com/Linux/2013-08/88984.htm

Nginx 安装配置使用详细笔记 http://www.linuxidc.com/Linux/2014-07/104499.htm

Nginx 日志过滤 使用 ngx_log_if 不记录特定日志 http://www.linuxidc.com/Linux/2014-07/104686.htm

Nginx 的详细介绍 :请点这里
Nginx 的下载地址 :请点这里

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计1834字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中