Nginx日志切割与管理脚本

发布时间:2020-12-28编辑:脚本学堂
分享一例用于切割nginx日志的shell脚本,介绍下awstats与shell、perl结合的处理方法,有需要的朋友参考下。

本节内容:
nginx日志切割与管理脚本
 
本节目的:
切割Nginx日志成awstats能分析的格式。

1,nginx日志切割脚本(cutlogs.sh)
 

复制代码 代码示例:
#!/bin/sh
#
# site: www.jb200.com 
cd /var/log/nginx/ 
mv sendsadmin.access.log sendsadmin.access.$(date +%Y%m%d).log 
mv error.log error.$(date +%Y%m%d).log 
sudo kill -USR1 `cat /usr/local/web/nginx762/logs/nginx.pid` 
find /var/log/nginx/ -name "sendsadmin.access.*" -type f -mtime +30 -exec rm {} ; > /dev/null 2>&1 
find /var/log/nginx/ -name "error.*" -type f -mtime +30 -exec rm {} ; > /dev/null 2>&1
 

2,定义Nginx日志格式,
 

复制代码 代码示例:
log_format main '$remote_addr - $remote_user [$time_local] '  
'"$request" $status $body_bytes_sent "$http_referer" '  
'"$http_user_agent" "$http_x_forwarded_for"';  
log_format main '$remote_addr - $remote_user [$time_local] ' 
'"$request" $status $body_bytes_sent "$http_referer" ' 
'"$http_user_agent" "$http_x_forwarded_for"';
 

3,检查是否安装perl,如果没安装得先安装perl。
 

复制代码 代码示例:
perl -version
 

4,安装Awstats安装:
 

复制代码 代码示例:
tar zxvf awstats-6.9.tar.gz  
sudo cp -rf awstats-6.9 /usr/local/awstats  
cd /usr/local/awstats/  
tools/awstats_configure.pl  
mkdir /var/lib/awstats  
tar zxvf awstats-6.9.tar.gz 
sudo cp -rf awstats-6.9 /usr/local/awstats 
cd /usr/local/awstats/ 
tools/awstats_configure.pl 
mkdir /var/lib/awstats 
Check for web server install 这项填none。 
Define config file name to create 这项填配置文件名字,一般用域名

其他默认即可。

更多有关awstats的安装与配置的内容,请参考文章:
Nginx日志分析 Nginx日志切割与Awstats配置
Nginx日志分析工具 AWStats + JAWStats安装与配置
nginx+awstats 统计web服务器log的教程

以上就是对Nginx日志进行分析的详细内容,希望对大家有所帮助。