当前位置: > Linux服务器 > nginx >

nginx日志切割和记录cookie

时间:2016-02-22 19:48来源:linux.it.net.cn 作者:IT

 
  1. #!/bin/bash  
  2. #日志文件存放目录  
  3. logs_path="/data/Service/nginx/logs"  
  4.   
  5. # 日志文件的名字,多个需要空格隔开  
  6. logs_names=(dm_access)  
  7. mkdir -p ${logs_path}/$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/  
  8. num=${#logs_names[@]}  
  9.   
  10. for((i=0;i<num;i++))  
  11. do    
  12.     #chown 和 chmod需要用到也要对当前用户给权限,因为80端口下nginx需要sudo启动,产生的文件所有者是root   
  13.     #chown ppstat:users ${logs_path}/${logs_names[i]}.log   
  14.     #chmod 755 ${logs_path}/${logs_names[i]}.log  
  15.     mv -f ${logs_path}/${logs_names[i]}.log \  
  16.     ${logs_path}/$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/${logs_names[i]}_$(date -d "yesterday" +"%Y-%m-%d").log  
  17. done  
  18.   
  19. #让nginx重新打开日志文件,在/etc/sudoer中对当前用户添加kill权限  
  20. sudo kill -USR1 `cat $logs_path/nginx.pid`  

 

记录整个请求的cookie

 


 
  1. #设置log中显示所有cookie  
  2.         set $dm_cookie "";  
  3.         if ($http_cookie ~* "(.+)(?:;|$)") {  
  4.             set $dm_cookie $1;  
  5.         }  
  6.         log_format  srvmain  '$remote_addr - $remote_user [$time_local] "$request" '  
  7.                       '$status $body_bytes_sent "$http_referer" '  
  8.                      '"$http_user_agent" "$http_x_forwarded_for" "$dm_cookie"  $request_time';  

(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容