`

nginx日志访问切割

阅读更多

 原文:http://hello-nick-xu.iteye.com/blog/2090586

 http://hello-nick-xu.iteye.com/blog/2102667

 

 

       在真实的Nginx实践过程中,我们通常都会对Nginx的访问日志进行切割,即按照一定的周期生成一个独立的Nginx访问日志文件,以避免存在文件体积过于庞大的日志文件。一方面有助于实际的错误排查,更重要的是有利于Nginx对访问文件的写入天真。同时,可以将Nginx的安装路径加入到环境变量,甚至可以编写启动关闭脚本,以方便实际操作。皱眉

 

<一>. 切割日志文件:
 1. 编写脚本:su - root
        进入主目录:cd ~
        编写脚本:vi split-nginx-log.sh大笑

Shell代码  收藏代码
  1. #!/bin/bash  
  2.   
  3. log_path="/opt/nginx/logs"  
  4. dir_name=`date -d "yesterday" +%Y%m`  
  5. file_name=`date -d "yesterday" +%Y.%m_%d`  
  6.   
  7. mkdir -p ${log_path}/${dir_name}  
  8. mv ${log_path}/access.log ${log_path}/${dir_name}/${file_name}.log  
  9.   
  10. kill -USR1 `cat ${log_path}/nginx.pid`  

       细节说明:
         1. 前一天的日期:date -d "yesterday" +%Y%m%d
         2. 递归创建目录,如果已存在则不创建:mkdir -p ${log_path}/${dir_name}
         3. 对日志文件重命名:mv access.log new.access.log 
         4. 通知nginx主进程重新打开日志文件:kill -USR1 `cat /opt/nginx/logs/nginx.pid`

 2. 赋予执行权限、执行:

Shell代码  收藏代码
  1. ls -al  
  2. chmod 744 split-nginx-log.sh  
  3. ./split-nginx-log.sh  

 3. 定时调度:每天零点切割日志  酷

Shell代码  收藏代码
  1. crontab -e  
  2. 00 00 * * * /root/split-nginx-log.sh  

 

<二>. 设置环境变量:
 1. 编辑当前用户PATH:
        显示PATH:echo $PATH
         用户主目录:cd ~
         编辑文件、追加如下内容:vi .bash_profile大笑

Shell代码  收藏代码
  1. NGINX_HOME=/usr/local/nginx  
  2. PATH=$NGINX_HOME/sbin:$PATH  
  3. export PATH  

       立即生效:source .bash_profile
 2. 启动、关闭: 

Shell代码  收藏代码
  1. nginx -c /usr/local/nginx/conf/nginx.conf  
  2. nginx -s quit  

    3. 可执行脚本:
   启动:vi start-nginx.sh

Shel代码  收藏代码
  1. nginx -c /usr/local/nginx/conf/nginx.conf  

   关闭:vi stop-nginx.sh   

Shell代码  收藏代码
  1. nginx -s quit  

    执行权限:   

Shell代码  收藏代码
  1. chmod 744 start-nginx.sh  
  2. chmod 744 stop-nginx.sh  

    执行脚本:蠢话

Shell代码  收藏代码
  1. ./start-nginx.sh  
  2. ./stop-nginx.sh  
分享到:
评论

相关推荐

    nginx 访问访问日志按天切割.sh

    nginx 访问访问日志按天切割.sh

    使用Awstats分析Nginx的访问日志.doc

    前言 在我的上一篇文章《使用...本文主要介绍通过让 awstats 对日志统计的结果生成静态页面,然后通过 Nginx 输出以达到统计 Nginx 访问日志的效果,其中还包括如何让 Nginx 自动切割日志文件。 配置Nginx自动切割日志

    详解Nginx日志配置及日志切割

    本文总结了nginx日志相关的配置如access_log、log_format、open_log_file_cache、log_not_found、log_subrequest、rewrite_log、error_log。 nginx有一个非常灵活的日志记录模式。每个级别的配置可以有各自独立的...

    nginx基础实例培训视频.zip

    04-nginx日志管理 05-nginx定时任务完成日志切割 06-Location详解之精准匹配 07-Location之正则匹配 08-Location总结图解 09-nginx Rewrite语法详解 10-编译PHP并与nginx整合 11-安装ecshop 12-商城url重写实战 13-...

    18个Linux Shell脚本经典案例视频.zip

    nginx 访问访问日志按天切割 nginx nginx访问日志分析脚本 一键查看服务器资源利用率 一键部署LNMP网站平台脚本 批量主机远程执行命令脚本 批量创建100用户并设置密码脚本 批量检测网站是否异常脚本 服务器系统配置...

    PHP统计nginx访问日志中的搜索引擎抓取404链接页面路径

    我在服务器上有每天切割nginx日志的习惯,所以针对每天各大搜索引擎来访,总能记录一些404页面信息,传统上我只是偶尔分析下日志,但是对于很多日志信息的朋友,人工来筛选可能不是一件容易的事情,这不我个人自己...

    Web服务器三剑客运维配置实战 Nginx+JVM+Tomcat+HTTP协议.zip

    ├─3.02 Nginx进阶配置提升-日志切割及升级.mp4 ├─3.03 Nginx进阶-配置提升-Nginx错误页面.mp4 ├─3.04 Nginx进阶-配置提升-访问控制.mp4 ├─3.05 Nginx进阶-配置提升-流量控制.mp4 ├─3.06 Nginx进阶-提升...

    Linux Shell脚本经典案例合集

    nginx 访问访问日志按天切割.sh nginx访问日志分析脚本.sh 查看网卡实时流量脚本.sh 服务器系统配置初始化脚本.sh 监控100台服务器磁盘利用率脚本.sh 监控MySQL主从同步状态是否异常脚本.sh 秒传_18个Linux Shell...

    常用shell 脚本,dos攻击防范,

    nginx 访问访问日志按天切割.sh nginx.conf nginx访问日志分析脚本.sh shell.txt 一键查看服务器资源利用率.sh 一键部署LNMP网站平台脚本.sh 下载必看.txt 批量主机远程执行命令脚本.sh 批量创建100用户并...

    logshell_linux_

    linux自动切割nginx日志脚本,解决因日志体积过大影响访问速度。

    awstats-7.0.tar.gz

    一款使用的日志切割工具,可以分析apache,nginx,tomcat日志。可以统计访问的人数,访问页面的分析等等,功能强大。

Global site tag (gtag.js) - Google Analytics